я делаю калькулятор, где пользователь вводит уравнение. Я разделил уравнение на +
или -
. Затем я пытаюсь решить уравнения с /
или *
. Проблема, когда у нас есть последовательные операторы умножения / деления в элементе Array String
. Я не уверен, как обработать String
. Лучше ли это решить с помощью вложенных операторов if
и for
? Пожалуйста, помогите.
public static String[] multDiv (String[] subEquat1){
for(Integer y = 0; y < subEquat1.length ; y++) {//iterates through elements in subEquat1
for(Integer i = 0; i < subEquat1[y].length(); i++){//iterates through chars in element string
if(subEquat1[y].charAt(i) == '*'){
String[] part1 = subEquat1[y].split("\\*");
/*Look the substring to see if there are more division*/
for(int v = 0; v < part1.length; v++){
for(int n = 0; n < part1[n].length(); n++) {
if(part1[v].charAt(n)==('/')) {
String[] part2 = part1[v].split("/");
part1[v] = String.valueOf(Double.parseDouble( part2[0])/Double.parseDouble(part2[1]));
}
else {
}
}
}
subEquat1[y]= String.valueOf(Double.parseDouble(part1[0])*Double.parseDouble(part1[1]));
}
else if(subEquat1[y].charAt(i) == '/') {
String[] part1 = subEquat1[y].split("/");
/*Look for the substring to see if there is more multiplication*/
for(int v = 0; v < part1.length; v++) {
for(int n = 0; n < part1[v].length(); n++) {
if(part1[v].charAt(n) ==('*')) {
String[] part2 = part1[v].split("\\*");
part1[v] = String.valueOf(Double.parseDouble(part2[0])/Double.parseDouble(part2[1]));
}
}
}
subEquat1[y] =String.valueOf(Double.parseDouble(part1[0])/Double.parseDouble(part1[1]));
}
}///////////GET THE SUM OF THE NUMBERS
}