我希望用户使用以下变量之一输入数学方程:*、/、+、-
输入示例(无空格):2*2、35.7/3、4.5+5.5
然后我想将第一个数字、char 变量和第二个数字分开并将它们存储到单独的变量中。
当我使用此代码时:
import java.io.*;
import java.util.Scanner;
class Extra {
public static void main (String[] args) throws IOException {
double fnum, snum;
char operator;
System.out.println("Type Operation.");
Scanner s = new Scanner ( System.in );
fnum = s.nextDouble();
operator = s.next().charAt(fnum + 1);
snum = s.nextDouble();
System.out.println(fnum);
System.out.println(snum);
System.out.println(operator);
s.close();
}
}
我收到此错误/响应:
Type Operation.
2*2
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at Extra.main(Extra.java:24)
我真的很想使用这样的东西:
operator = s.next("[*,/,+,-]").charAt(fnum + 1);
请帮忙,我不知道我做错了什么。