Java 将文件中的数字存储到数组中
我有一个名为“input.txt”的文件,上面有下面的数字。我想读取此文件并将其放入数组。第一个整数-10表示数组中索引或元素的数量,因此为10个点。下面的代码是我到目前为止所做的,我只是不知道如何从第一行读取input.txtJava 将文件中的数字存储到数组中,java,arrays,Java,Arrays,我有一个名为“input.txt”的文件,上面有下面的数字。我想读取此文件并将其放入数组。第一个整数-10表示数组中索引或元素的数量,因此为10个点。下面的代码是我到目前为止所做的,我只是不知道如何从第一行读取input.txt 10 3 4 5 6 4 4 5 6 3 此数组的大小将是文件中的第一个数字 static void display(int[] numArray) { System.out.pr
10
3
4
5
6
4
4
5
6
3
此数组的大小将是文件中的第一个数字
static void display(int[] numArray) {
System.out.println("Array contents: ");
for (int i = 0; i < numArray.length; i++) {
System.out.print(numArray[i] + " ");
}
System.out.println();
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int[] numberArray = new int[10];
System.out.println("Enter the name of your file (including file extension): ");
String filename = input.next();
int count = 0;
try {
Scanner in = new Scanner(new File(filename));
int result = in.nextInt();
while (in.hasNextInt()&& count < 10) {
numberArray[count] = result;
count = count + 1;
result = in.nextInt();
}
} catch (FileNotFoundException e) {
System.out.println("That file was not found. Program terminating...");
e.printStackTrace();
}
display(numberArray);
}
静态无效显示(int[]numArray){
System.out.println(“数组内容:”);
for(int i=0;i
类似的方法应该可以工作(未经测试)。请注意,首先是如何获取大小的,基于该大小创建的数组,然后读取文件的其余部分
static void display(int[] numArray) {
System.out.println("Array contents: ");
for (int i = 0; i < numArray.length; i++) {
System.out.print(numArray[i] + " ");
}
System.out.println();
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Enter the name of your file (including file extension): ");
String filename = input.next();
int count = 0;
int[] numberArray;
try {
Scanner in = new Scanner(new File(filename));
int size= in.nextInt();
numberArray = new int[size];
int result;
while (in.hasNextInt()&& count < size) {
numberArray[count] = result;
count = count + 1;
result = in.nextInt();
}
} catch (FileNotFoundException e) {
System.out.println("That file was not found. Program terminating...");
e.printStackTrace();
}
display(numberArray);
}
静态无效显示(int[]numArray){
System.out.println(“数组内容:”);
for(int i=0;i
您需要创建第一行大小的数组,如果需要,请放入数组。您可以尝试以下方法:
如果您使用的是Java 7或更高版本,您可以尝试以下方法:
public static void main(String[] args) {
try (final Scanner input = new Scanner(System.in)) {
final int[] numberArray = new int[10];
System.out.println("Enter the name of your file (including file extension): ");
final String filename = input.next();
try (final Scanner in = new Scanner(new File(filename))) {
final int count = in.nextInt();
for (int i = 0; in.hasNextInt() && i < count; i++) {
numberArray[i] = in.nextInt();
}
display(numberArray);
} catch (final FileNotFoundException e) {
System.out.println("That file was not found. Program terminating...");
e.printStackTrace();
}
}
}
publicstaticvoidmain(字符串[]args){
try(最终扫描仪输入=新扫描仪(System.in)){
最终整数[]numberArray=新整数[10];
System.out.println(“输入文件名(包括文件扩展名):”;
最终字符串文件名=input.next();
尝试(中的最终扫描仪=新扫描仪(新文件(文件名))){
最终整数计数=in.nextInt();
对于(int i=0;in.hasNextInt()&&i
如果您使用的是java 7之前的版本,请尝试以下方法:
public static void main(String[] args) {
try (final Scanner input = new Scanner(System.in)) {
System.out.println("Enter the name of your file (including file extension): ");
final String filename = input.next();
int[] numberArray = null;
try (final Scanner in = new Scanner(new File(filename))) {
final int count = in.nextInt();
numberArray = new int[count];
for (int i = 0; in.hasNextInt() && i < count; i++) {
numberArray[i] = in.nextInt();
}
display(numberArray);
} catch (final FileNotFoundException e) {
System.out.println("That file was not found. Program terminating...");
e.printStackTrace();
}
}
}
publicstaticvoidmain(字符串[]args){
try(最终扫描仪输入=新扫描仪(System.in)){
System.out.println(“输入文件名(包括文件扩展名):”;
最终字符串文件名=input.next();
int[]numberArray=null;
尝试(中的最终扫描仪=新扫描仪(新文件(文件名))){
最终整数计数=in.nextInt();
numberArray=新整数[计数];
对于(int i=0;in.hasNextInt()&&i
如果要将第一行添加到数组中,则putnumberArray[0]=count;
以下numberArray=newint[count]使用1对步骤进行编码>并初始化。您需要将其放入一个while循环中。。。int result需要在while循环中。读取完文件后,应关闭扫描仪。最好和最简单的方法是用一个语句。谢谢你的帮助,但它仍然不起作用,我在displayArray(Numaray)找不到符号;这是因为数组应该在try块之前定义,然后在获得大小后初始化。更新了答案