我的代码只是打印出我在其他程序中创建的列表中的最后一个数字。
我需要帮助将数据存储到数组中,以便以后进行排序。
编辑:我需要从文件“ numbers.txt”中获取数据并将其存储到数组中。
public static void main(String[] args) throws Exception {
int numberArray = 0;
int[] list = new int[16];
File numbers = new File("numbers.txt");
try (Scanner getText = new Scanner(numbers)) {
while (getText.hasNext()) {
numberArray = getText.nextInt();
list[0] = numberArray;
}
getText.close();
}
System.out.println(numberArray);
int sum = 0;
for (int i = 0; i < list.length; i++) {
sum = sum + list[i];
}
System.out.println(list);
}
}
最佳答案
代码中的更正。
1.)在while循环list[0] = numberArray;
中,将继续在同一index 0
上添加元素,因此lat值将被覆盖。所以像list[i] = numberArray;
这样的东西会起作用,而increement i
内部的while loop
也会起作用。在这里照顾ArrayIndexOutOfBound Exception
。
public static void main(String[] args) throws Exception {
int numberArray = 0;
int[] list = new int[16];
File numbers = new File("numbers.txt");
int i =0;
// Check for arrayIndexOutofBound Exception. SInce size is defined as 16
try (Scanner getText = new Scanner(numbers)) {
while (getText.hasNext()) {
numberArray = getText.nextInt();
list[i] = numberArray;
i++;
}
getText.close();
}
System.out.println(numberArray);
int sum = 0;
for (int i = 0; i < list.length; i++) {
sum = sum + list[i];
}
System.out.println(list);
}
}