Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将此输入放入数组中?_Java_Arrays - Fatal编程技术网

Java 如何将此输入放入数组中?

Java 如何将此输入放入数组中?,java,arrays,Java,Arrays,所以我一直在尝试将这个SOP语句读入数组,但似乎无法读入。我是Java的新手,非常感谢您的帮助 这就是我试图将SOP语句放入的构造函数 public class QuizScore { private int qs[]; public QuizScore(int num) { for(int i=0;i<num;i++) { System.out.println("Enter in your scores: "); int[] qs=new

所以我一直在尝试将这个SOP语句读入数组,但似乎无法读入。我是Java的新手,非常感谢您的帮助

这就是我试图将SOP语句放入的构造函数

public class QuizScore 
{
private int qs[];
public QuizScore(int num)
{
    for(int i=0;i<num;i++)
    {
        System.out.println("Enter in your scores: ");
        int[] qs=new int[num];
    }

}

请按以下方式更改代码

int[] qs=new int[num];

for(int i=0;i<num;i++)
{
    System.out.println("Enter in your scores: ");
    qs[i] = num;
}
试试这个

public class QuizScore 
            {
            private int qs[];
            public QuizScore(int num)
            {
                int[] qs=new int[num];
                for(int i=0;i<num;i++)
                {
                    System.out.println("Enter in your scores: ");

                    qs[i]=i;//putting values in array;
                }
             }
我猜您的EasyReader类主要是从输入流中获取用户输入。java中另一个容易使用的类是Scanner,它可以让您从输入流中获取用户输入

在使用阵列之前,必须先初始化阵列,然后才能循环并获取用户输入:

qs = new int[num];
接下来,获取用户对各个分数的输入,并将它们存储在具有适当索引的数组中

qs[i] = scan.nextInt();
编辑:尝试使用基于OPs查询的EasyReader实现。以下是完整的课程:

   public class QuizScore {
    private int qs[];
    static EasyReader console = new EasyReader();

    public QuizScore(int num) {

        qs = new int[num];
        for (int i = 0; i < num; i++) {
            System.out.println("Enter in your scores: ");
            try {
                qs[i] = console.readInt();
            } catch (Exception ex) {
                // console.ignore();
            }
        }
        console.close();
    }

    public static void main(String args[]) {
        System.out.println("How many numbers are in your array?");
        int num = console.readInt();
        new QuizScore(num);
    }

}

注意,当出现任何错误时,我捕获一个异常并忽略用户输入-特别是当用户输入非整数值时。-不再有效,因为EasyReader似乎使用了无效的输入。

对于您的解决方案,数组将在for循环的每次增量中重新初始化。。。从循环中取出int[]qs=newint[num];我输入了这个,但是在我输入了多少个整数之后,它给了我那么多的分数,不让我输入数字。我输入了这个,但是在我输入了多少个整数之后,它给了我那么多的分数,不让我输入数字。这会很有帮助,如果我的学校没有使用EasyReader教授Java,那么我必须通过它来学习。@user3030052好的,我尝试使用EasyReader的实现,请参阅上面编辑的代码
qs[i] = scan.nextInt();
   public class QuizScore {
    private int qs[];
    static EasyReader console = new EasyReader();

    public QuizScore(int num) {

        qs = new int[num];
        for (int i = 0; i < num; i++) {
            System.out.println("Enter in your scores: ");
            try {
                qs[i] = console.readInt();
            } catch (Exception ex) {
                // console.ignore();
            }
        }
        console.close();
    }

    public static void main(String args[]) {
        System.out.println("How many numbers are in your array?");
        int num = console.readInt();
        new QuizScore(num);
    }

}