gpt4 book ai didi

java - 用用户输入填充数组

转载 作者:行者123 更新时间:2023-12-01 10:10:46 24 4
gpt4 key购买 nike

我很抱歉,我知道这看起来很简单,但我对编码有点陌生。该程序的目标是从索引 0 开始获取用户的输入,然后将输入保存到数组中。我可能即将解决这个问题,但我需要一些帮助。

这是代码:

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

int numberOfGrades;
int counter = 0;

System.out.println("This program averages the grades you input.");
System.out.println("Please enter the number of grades you'd like averaged: ");
numberOfGrades = input.nextInt();

int[] grades = new int[numberOfGrades];

do
{
System.out.println("Please enter grade number " + (counter+1) + ": ");
grades[numberOfGrades] = input.nextInt();
counter++;
} while (counter < numberOfGrades);

System.out.println("The number of grades you wanted averaged was: " + grades.length);


}
}

最佳答案

你的逻辑有点不对劲。 numberOfGrades 是.. 嗯.. 等级数。当您执行此操作时:grades[numberOfGrades] = input.nextInt(); 然后您将用户的输入放入 grades 数组中的 numberOfGrades 位置>,这是你不想要的。

你想要的是:

do {
System.out.println("Please enter grade number " + (counter+1) + ": ");
grades[counter] = input.nextInt();
counter++;
} while (counter < numberOfGrades);

这样,就可以访问位置 counter 中的数组,并将用户的输入放置在其中的正确位置。

此外,要计算平均成绩,就像您在类(class)结束时尝试做的那样,您应该这样做:

double sum = 0;
for (int grade : grades)
sum += grade;

然后你的平均值将是:

average = 1.0d * sum / grades.length;

您也可以将此求和逻辑放入 do-while 循环中,并避免我引入的额外循环。

关于java - 用用户输入填充数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36136388/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com