以下是程序,我找不到错误,有人可以帮忙吗?提前谢谢。
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
答案 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为您创建的任何目录中,但它也可以是您的数组的大小