问题描述
我的code是刚刚打印出从我在不同的程序中创建列表中的最后一个号码。
我需要帮助的数据存储到一个数组,所以我可以后排序。
编辑:我需要从一个文件,该文件是numbers.txt'的数据并将其存储到一个数组
公共静态无效的主要(字串[] args)抛出异常{
INT numberArray = 0;
INT []列表=新INT [16]; 文件编号=新的文件(numbers.txt);
尝试(扫描仪的getText =新的扫描仪(数字)){
而(getText.hasNext()){
numberArray = getText.nextInt();
列表[0] = numberArray;
}
getText.close();
}
的System.out.println(numberArray);
INT总和= 0;
的for(int i = 0; I< List.length的数字,我++){
总和=总和+列表[我]
}
的System.out.println(名单);
}
}
校正在code。
1)内部while循环,列表[0] = numberArray;
,将保持在相同的指数0添加元素
,所以纬度值将覆盖。因此,像列表[我] = numberArray;
将工作和 increement我
在而环
。保重 ArrayIndexOutOfBound异常
这里的
公共静态无效的主要(字串[] args)抛出异常{
INT numberArray = 0;
INT []列表=新INT [16]; 文件编号=新的文件(numbers.txt);
INT I = 0;//检查arrayIndexOutofBound例外。由于大小被定义为16 尝试(扫描仪的getText =新的扫描仪(数字)){
而(getText.hasNext()){
numberArray = getText.nextInt();
名单由[i] = numberArray;
我++;
}
getText.close();
}
的System.out.println(numberArray);
INT总和= 0;
的for(int i = 0; I< List.length的数字,我++){
总和=总和+列表[我]
}
的System.out.println(名单);
}
}
My code is just printing out the last number from the list I create in a different program.I need help storing the data into an array so I can sort it after.edit: I need to take data from a file which is 'numbers.txt' and store it into an array.
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);
}
}
Correction in the code.
1.) Inside while loop, list[0] = numberArray;
, will keep adding elements on the same index 0
, so lat value will override. SO something like list[i] = numberArray;
will work, and increement i
inside while loop
. Take care of ArrayIndexOutOfBound Exception
here.
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);
}
}
这篇关于使用扫描仪不能存储文本数据转换成Java数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!