我正在使用problem from a programming Judge在Java中测试此代码,并且出现“时间限制”错误。我想 scanner.hasNextDouble() thingy不能以某种方式工作。
它与链接中显示的公共输入一起使用,但它会在私有时抛出此时间限制错误。
有什么想法解决这个问题?
import java.util.Scanner;
import java.text.NumberFormat;
import java.util.Locale;
class Main /*AvalPoli2*/ {
public static void main(String[] args) {
NumberFormat nf = NumberFormat.getNumberInstance(Locale.US); // dot sep.
nf.setGroupingUsed(false); // don't group in groups of 3
nf.setMaximumFractionDigits(4);
nf.setMinimumFractionDigits(4);
Scanner scanner = new Scanner(System.in);
scanner.useLocale(Locale.US); // read doubles with dot separator
double sum = 0.0000;
double x = 0;
if (scanner.hasNextDouble()) x = scanner.nextDouble();
while (scanner.hasNextDouble()) {
sum *= x;
sum += scanner.nextDouble();
}
System.out.println(nf.format(sum));
}
}
非常感谢! ^ _ ^
答案 0 :(得分:1)
你必须包装你的System.in,比如
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
in = new Scanner(br);
代替,
in = new Scanner(System.in);