【发布时间】:2013-10-09 23:03:18
【问题描述】:
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 并让循环将其作为字符串读出并打印结果。谢谢!
【问题讨论】:
-
Is there something wrong with the loop?循环在哪里
标签: string variables loops math