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 并让循环将其作为字符串读出并打印结果。谢谢你!