UVA在线判断运行时错误

时间:2015-10-17 04:39:37

标签: java runtime-error java-7

我在在线评判网站上收到问题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循环,但它没有任何区别。

1 个答案:

答案 0 :(得分:1)

所以,我相信我发现了这个问题。运行一个正在运行的旧文件后,我将类的名称更改为Main,它似乎已修复它