Java中的NZEC运行时错误

时间:2014-01-17 10:31:49

标签: java runtime-error

这是我的代码。 请检查它给出运行时异常的位置。 我写了一段代码来解决这个问题。

我一直得到NZEC(运行时错误),但是我找不到代码的哪一部分会导致任何异常,因为它只涉及简单的算术运算(不应该被零除以)。

代码的逻辑并不重要,我只是想知道异常可能隐藏在哪里。

任何人都可以发现任何错误?感谢。

import java.io.BufferedReader;
import java.io.File; // headers
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;
import java.util.Arrays;
import java.util.Scanner;
import java.util.Vector;
import java.math.BigInteger;

public class Mkequal // class
{
    public static void main(String[] args) throws IOException // main class
    {
        BufferedReader br = new BufferedReader(new InputStreamReader(System. in));
        Scanner sc = new Scanner(System. in );
        int t = Integer.parseInt(br.readLine());
        while (t-- > 0) // while loop
        {
            int sum = 0;
            int n = Integer.parseInt(br.readLine()); //number of elements in array
            int arr[] = new int[n];
            for (int i = 0; i < n; i++)
                arr[i] = sc.nextInt();
            for (int i = 0; i < n; i++)
                sum += arr[i];
            if (sum % n == 0) //if divisible by n,print n
                System.out.println(n);
            else
                System.out.println(n - 1);

        }
    }
}

2 个答案:

答案 0 :(得分:0)

您很可能在程序中创建了太多内存。 你必须在while循环之外创建数组(arr)并在循环内操作它。

答案 1 :(得分:0)

int t = Integer.parseInt(br.readLine());可能导致NumberFormatExceptionInteger.parseInt

但你要使用IDE的控制台(例如,这里是Eclipse's console)来查看堆栈跟踪 - 它会指向发生异常的实际行