首页 > 解决方案 > 通过数组传递不确定数量的 Int

问题描述

我在一个介绍 Java 编程课程中,我试图弄清楚如何从用户输入的 Int 中填充一个数组。我看过我教授的所有视频,也做了一堆谷歌搜索,但我一直没能弄明白。

import java.util.Scanner;

public class GradesForClass {

    public static void main(String[] args) {
        Scanner keyboard = new Scanner(System.in);

        System.out.println("Hello Drews, how many total grades do you want to process?");
        int numberOfGrades = keyboard.nextInt();

        int sum = 0;

        for (int i = 0; i < numberOfGrades; i++) {
            System.out.println("Please enter grade " + (i + 1) + ": ");
            int userGradeNumbers = keyboard.nextInt();
            sum += userGradeNumbers;            
        }

        int storeGrades[] = new int[userGradeNumbers];

        int totalScore = sum;
        //int lowestScore = ;
        //int highestScore = ;
        double averageScore = sum / (double) numberOfGrades;

        System.out.println("Total score is: " + totalScore);
        //System.out.println("Lowest score is: " + lowestScore);
        //System.out.println("Highest score is: " + highestScore);
        System.out.println("Average score is: " + averageScore);

        keyboard.close();
    }
}

标签: javaarrays

解决方案


由于您知道要处理多少个成绩,因此最简单的方法是在开始向用户询问输入之前创建一个数组。

int[] storeGrades = new int[numberOfGrades];

而不是用户输入之后,这是您当前拥有的位置。

一旦你有了它,你可以使用从 0 到 的数字来引用数组的元素numberOfGrades - 1。特别是,您输入数字的循环内,您可以

storeGrades[i] = userGradeNumbers;

因为i是一个精确遍历您需要的范围的索引。


推荐阅读