import java.util.Scanner;
public class MathFun {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int x = 0;
System.out.println(" Enter a math operation: ");
String expr = input.next();
int pos = expr.indexOf("+");
if (pos >= 0) {
int op1 = Integer.parseInt(expr.substring(0, pos));
int op2 = Integer.parseInt(expr.substring(pos - x , expr.length()));
System.out.println(op1 + op2);
} else
if (pos == expr.indexOf("-")) {
int op1 = Integer.parseInt(expr.substring(0, pos));
int op2 = Integer.parseInt(expr.substring(pos - x , expr.length()));
System.out.println(op1 - op2);
} else
if (pos == expr.indexOf("/")) {
int op1 = Integer.parseInt(expr.substring(0, pos));
int op2 = Integer.parseInt(expr.substring(pos - x , expr.length()));
System.out.println(op1/op2);
} else
if (pos == expr.indexOf("%")) {
int op1 = Integer.parseInt(expr.substring(0, pos));
int op2 = Integer.parseInt(expr.substring(pos - x , expr.length()));
System.out.println(op1 % op2);
}
else {
System.out.println(" Invalid operation ");
}
}
}
Хотя это проходит через JAVAC, программа автоматически говоритОшибки, связанные с расположением переменных
an ex out of range: -1
at java.lang.String.substring(String.java:1937)
at MathFun.main(MathFun.java:21)
Есть ли что-то не так с петлей? Я просто хочу сделать простой цикл, который позволяет пользователю ввести строку 2 + 2 и позволить циклу читать это как строку и печатать результат. Спасибо!
'Что-то не так в цикле ?, где есть цикл – Prateek