import java.lang.*;
class godmos{
public static StringBuffer deleter(StringBuffer s, int pos)
{
return new StringBuffer().append(s.substring(0, pos)).append(s.substring(pos + 1));
}
public String str1 = "5+7-9/9*2/4 ";
StringBuffer str0 = new StringBuffer(str1);
public static StringBuffer calculate (StringBuffer str)
{
// StringBuffer str11;
while(str.indexOf("/")!=-1 | str.indexOf("*")!=-1 ){
if(str.indexOf("/") < str.indexOf("*") && str.indexOf("/")!=-1)
{ int a1 = str.indexOf("/");
int a2 = a1+1;
int a3 = a1-1;
double tmp1 = Double.parseDouble(Character.toString(str.charAt(a3)));
double tmp2 = Double.parseDouble(Character.toString(str.charAt(a2)));
double tmp3=tmp1/tmp2;
str.delete(a3,a2+1);
str.insert(a3,tmp3);
}
if(str.indexOf("*") < str.indexOf("/") && str.indexOf("*")!=-1)
{ int a4 = str.indexOf("*");
int a5 = a4+1;
int a6 = a4-1;
double tmp4 = Double.parseDouble(Character.toString(str.charAt(a6)));
double tmp5 = Double.parseDouble(Character.toString(str.charAt(a5)));
double tmp6=tmp4/tmp5;
str.delete(a6,a5+1);
str.insert(a6,tmp6);
}
System.out.print(str);
}
while(str.indexOf("+")!=-1 | str.indexOf("-")!=-1 ){
if(str.indexOf("+") < str.indexOf("-") && str.indexOf("+")!=-1 )
{ int a11 = str.indexOf("+");
int a21 = a11+1;
int a31 = a11-1;
double tmp11 = Double.parseDouble(Character.toString(str.charAt(a31)));
double tmp21 = Double.parseDouble(Character.toString(str.charAt(a21)));
double tmp31=tmp11/tmp21;
str.delete(a31,a21+1);
str.insert(a31,tmp31);
}
if(str.indexOf("-") < str.indexOf("+") && str.indexOf("-")!=-1)
{ int a41 = str.indexOf("-");
int a51= a41+1;
int a61 = a41-1;
double tmp41 = Double.parseDouble(Character.toString(str.charAt(a61)));
double tmp51 = Double.parseDouble(Character.toString(str.charAt(a51)));
double tmp61=tmp41/tmp51;
str.delete(a61,a51+1);
str.insert(a61,tmp61);
}
}
return str;
}
StringBuffer f1 = calculate(str0);
public static void main (String[] args) {
godmos gm = new godmos();
System.out.print(gm.f1);
}
}
Andry KIT
5 уровень
добрий день .скажите есть ли метод которий виделяет текст от одного символа до другого. то есть у нас есть "4-65*62+4" и нам надо виделить текст от"*" до "-" а потом до "+"
Обсуждается
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
ГоффMaster
22 августа 2021, 10:24
Это тебе сюда:
https://javarush.com/groups/posts/regulyarnye-vyrazheniya-v-java
0