2014-01-17 56 views
-8

这是我的代码。 请检查它在哪里给运行时异常。 我写了一段代码来解决这个问题。我不断地得到NZEC(运行时错误),但我找不到任何异常的代码部分,因为它只涉及简单的算术计算(应该没有机会除以零)。Java中的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); 

     } 
    } 
} 

回答

0

你很可能是在程序中创建了太多的内存。 必须创建while循环外阵列(ARR),并操纵它的循环内..

0

也许,int t = Integer.parseInt(br.readLine());原因NumberFormatExceptionInteger.parseInt

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