从文件中提取整数并在Java中使用数组打印 包装基础; 导入java.io.File; 导入java.io.IOException; 导入java.util.Scanner; 公共类gnfmd{ 公共静态void main(字符串[]args)引发IOException { int[]数组=新的int[40]; int i=0; File File=新文件(“hello.txt”); if(file.exists()) { 扫描仪hello=新扫描仪(文件); System.out.println(“找到文件”); while(hello.hasNext()&&i

从文件中提取整数并在Java中使用数组打印 包装基础; 导入java.io.File; 导入java.io.IOException; 导入java.util.Scanner; 公共类gnfmd{ 公共静态void main(字符串[]args)引发IOException { int[]数组=新的int[40]; int i=0; File File=新文件(“hello.txt”); if(file.exists()) { 扫描仪hello=新扫描仪(文件); System.out.println(“找到文件”); while(hello.hasNext()&&i,java,arrays,printing,Java,Arrays,Printing,我在java课程中遇到了这个问题。这个练习需要从一个.txt文件中提取所有整数,并使用数组打印它们,但即使我从模型答案中复制它,它也会一直打印零。有人能告诉我哪里弄错了吗您正在打印System.out.println(数组[l])。您应该打印System.out.println(l),因为l在for(int l:array)循环的每次迭代中都会保存一个不同于array的整数。因此,在第一次迭代中,l将保存数组[0]的值,在第二次迭代中,它将保存数组[1],等等。这一点以及您只初始化数组的第一个参


我在java课程中遇到了这个问题。这个练习需要从一个.txt文件中提取所有整数,并使用数组打印它们,但即使我从模型答案中复制它,它也会一直打印零。有人能告诉我哪里弄错了吗

您正在打印
System.out.println(数组[l])。您应该打印
System.out.println(l)
,因为
l
for(int l:array)
循环的每次迭代中都会保存一个不同于
array
的整数。因此,在第一次迭代中,
l
将保存
数组[0]
的值,在第二次迭代中,它将保存
数组[1]
,等等。这一点以及您只初始化数组的第一个
参数。长度
位置是它打印零的原因,因为
int
数组的所有位置的默认值都是零,并且您不会将任何其他值分配给大多数(如果不是全部)位置

示例:

公共类MyClass{
公共静态void main(字符串参数[]){
int[]数组={1,25,46,97};
for(int i:array){
系统输出打印LN(i);
}
}
}
输出:

一,

二十五

46


97

@YousefTamer正如我发布的示例代码所示,除非数组中有零,否则这几乎是不可能的。除非您将while循环更改为在
while(hello.hasNext())
上迭代,否则正如我在回答中明确解释的那样,所有位置的零都将等于或大于传递给程序的参数数。因此,如果在运行程序时没有向程序传递任何参数,那么数组将只包含零。请仔细阅读答案并进行适当测试,然后再说它们不起作用。
package foundations;

import java.io.File;
import java.io.IOException;
import java.util.Scanner;

public class gnfmd {
    public static void main(String[] args) throws IOException
    {
        int[] array = new int[40];
        int i = 0;
        File file = new File("hello.txt");
        if (file.exists())
        {
            Scanner hello = new Scanner(file);
            System.out.println("file found");


            while (hello.hasNext() && i < args.length)
            {
                array [i] = hello.nextInt();
                i++;
            }
            hello.close();
            
            for (int l : array)
            {
                System.out.println(array[l]);
            }
        }
        else
        {
            System.out.println("file not found");
        }

    }
}