0
我在線裁判網站上的問題10107上收到運行時錯誤。如果您不知道,該網站不會給我錯誤的實際原因,或行號或任何其他事情,否則很容易解決。不管怎麼說,這是我的代碼:UVA在線裁判運行時錯誤
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循環,但它沒有任何區別。