Java程序调试 - 在文件中查找最小的整数

时间:2014-02-04 03:46:54

标签: java

以下是程序,我找不到错误,有人可以帮忙吗?提前谢谢。

import java.util.Scanner;
import java.io.File;
import java.io.IOException;

public class Proj2b {
     public static void main(String[] args){
         int i=0;
         int[] intArray = new int[100];
         try
         {   Scanner s = new Scanner(new File("data.txt"));
           while(s.hasNextInt()){
               intArray[i++] = s.nextInt();
           }
           int small= intArray[0];  
           for(int j=0;j<intArray.length;j++) {
                   if(intArray[j]<small)
                     small=intArray[j];
            }
           System.out.println(small);
          }
         catch(IOException e)
          { System.out.println(e);
          }
     }
}

data.txt中。 219 67 3 12 35 34 86 29 8 30 312 22 91 51 73 10 21 88 6

2 个答案:

答案 0 :(得分:2)

您正在将数组初始化为固定大小100:

int[] intArray = new int[100];

intArray.length值为100,因此您在for循环中检查了一堆未初始化的值。如果没有运行它,我认为它们将为0.你能给我们更多关于System.out.println语句中打印出来的信息吗?

要解决此问题,我认为您可以替换此行:

for(int j=0;j<intArray.length;j++) {

用这个:

for(int j=0;j<i;j++) {

因为变量i将保存从文件中读入的整数数。

答案 1 :(得分:-1)

我假设您收到该错误的原因是因为文件data.txt不在您的类路径中。 “data.txt”应该位于项目的基本目录中,而不是NetBeans为您创建的任何目录中,但它也可以是您的数组的大小