给出错误 "EXception in thread "main" java.util.InputMistmatchException....",我找不到错误。解释一下,请
Gives an error "EXception in thread "main" java.util.InputMistmatchException....", I can't find a bug. Explain, pls
这是一个代码:
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int times = in.nextInt();
int sum = 0;
for(int i = 0; i < times; i++) {
int quantity = in.nextInt();
double price = in.nextDouble();
if(price < 50.00) {
sum += quantity;
}
}
System.out.println(sum);
}
}
这是我的输入:
3
2 100.00
5 23.00
10 22.50
输出应该是:
15
我们求和附近有 double 的整数小于 50.00。
扫描器class使用当前系统区域设置来处理输入。如果您的语言环境没有点 (.) 作为小数点分隔符,则扫描仪不会将您的输入识别为双精度值。您可以通过添加行
来测试它
in.useLocale(Locale.ENGLISH);
到你的代码。然后它将 运行 毫无例外地 return 您的预期结果。反之亦然,使用英语系统区域设置的人可以通过设置非英语区域设置来重现异常,例如
in.useLocale(Locale.GERMAN);
如果您的在线评判系统出现问题,请使用:
import java.util.*;
//...
Locale.setDefault(new Locale("en", "US"));
顺便说一句,这 post 意味着您错过了课程,我们在课程中在 e-olimp 上体验过它 :P
这是一个代码:
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int times = in.nextInt();
int sum = 0;
for(int i = 0; i < times; i++) {
int quantity = in.nextInt();
double price = in.nextDouble();
if(price < 50.00) {
sum += quantity;
}
}
System.out.println(sum);
}
}
这是我的输入:
3
2 100.00
5 23.00
10 22.50
输出应该是:
15
我们求和附近有 double 的整数小于 50.00。
扫描器class使用当前系统区域设置来处理输入。如果您的语言环境没有点 (.) 作为小数点分隔符,则扫描仪不会将您的输入识别为双精度值。您可以通过添加行
来测试它in.useLocale(Locale.ENGLISH);
到你的代码。然后它将 运行 毫无例外地 return 您的预期结果。反之亦然,使用英语系统区域设置的人可以通过设置非英语区域设置来重现异常,例如
in.useLocale(Locale.GERMAN);
如果您的在线评判系统出现问题,请使用:
import java.util.*;
//...
Locale.setDefault(new Locale("en", "US"));
顺便说一句,这 post 意味着您错过了课程,我们在课程中在 e-olimp 上体验过它 :P