我在在线评判网站上收到问题10107的运行时错误。如果你不知道,网站没有告诉我错误的实际原因,或者行号,或者其他任何容易解决的问题。无论如何,这是我的代码:
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.util.Vector;
class Prob2 {
public static void main(String[] args) throws FileNotFoundException{
Scanner in = new Scanner(new FileInputStream(args[0]));
Vector<Long> nums = new Vector<Long>();
while (in.hasNext()){
nums.add(in.nextLong());
int size = nums.size();
int mid = size/2;
//Prints out the median
System.out.println(size % 2 == 1 ? nums.get(mid) : (nums.get(mid - 1) + nums.get(mid))/2);
}
}
}
我尝试过很多东西,并阅读其他帖子,但以前的解决方案都没有。我为不同的问题提供了不同的代码,这也给了我一个运行时错误。我不确定,但这可能是一个常见问题,所以这是其他代码(问题446)
import java.util.Scanner;
class Prob1 {
Prob1(){
Scanner in = new Scanner(System.in);
int numLoops = Integer.parseInt(in.nextLine());
for (int i = 0; i < numLoops; i++){
//while (in.hasNext()){
//gets the input
String line = in.nextLine();
String[] parts = line.split(" ");
int num1 = Integer.parseInt(parts[0], 16);
int num2 = Integer.parseInt(parts[2],16);
String op = parts[1];
int tot = num1;
//Checks operation. Built in decimal operations easier than binary or hex operations
if (op.contains("+")){
tot += num2;
}else if (op.contains("-")){
tot -= num2;
}
//Prints out the result padding the binary to 13 digits because that is how it is in the sample output
System.out.printf("%s %s %s = %d\n", ("0000000000000" + Integer.toBinaryString(num1)).substring(Integer.toBinaryString(num1).length()), op, ("0000000000000" + Integer.toBinaryString(num2)).substring(Integer.toBinaryString(num2).length()), tot);
}
}
public static void main(String[] args) {
new Prob1();
}
}
正如您在第二个代码中看到的那样,我尝试将其更改为while循环,但它没有任何区别。
答案 0 :(得分:1)
所以,我相信我发现了这个问题。运行一个正在运行的旧文件后,我将类的名称更改为Main,它似乎已修复它