我有一个文本文件“名称”,其中包含10个名称,每个名称都在它自己的行上。我想要做的就是将这些名称放入数组“anArray”中。只是为了检查我做的是好的工作,我输出了一条线,就像你看到的那样。将名称从文件放入数组会导致无限循环
这里是我曾经尝试这样做,代码:
public static void main(String[] args) throws FileNotFoundException
{
File file=new File("names.txt");
Scanner my_input= new Scanner(file);
String [] anArray;
anArray = new String[10];
String a = my_input.nextLine();
while(my_input.hasNextLine())
{
for(int i = 0; i<10;i++)
{
while (!(a.equals("\n")))
{
anArray[i] = a;
System.out.println("Element" + i + "of the array is: " + anArray[i]);
}
i++;
a=my_input.next();
}
}
my_input.close();
}
但是这个代码失败,会发生什么是“元素0的数组是:名称1”输出的时间无限量“名字1“是文本文件中的第一个名字。我不知道我在这里做错了什么,有谁能够启发我?
什么是'while(!(a.equals(“\ n”)))'意在做什么?因为你不更新'while'循环中的'a',它应该是一个**红旗**。 –
@ElliottFrisch将名称分隔成不同的数组元素。我认为,当名称结束,因此扫描仪遇到“\ n”时,我会增加一个。 –
您不在最里面的while循环中前进扫描仪。 –