带有等级和总和的 for 循环内部发生了什么?我不知道它在做什么



这是一个程序,它根据用户想要的输入数量来计算用户的测试平均值。但是,我不知道 for 循环内部发生了什么以及它意味着什么。等级和总和。

System.out.println("Welcome, please type your first name. ");
String name = scan.nextLine();
System.out.println("Welcome, please type your last name. ");
String last = scan.nextLine();
int numberOfTests;
System.out.println("How many tests would you like the average of?");
numberOfTests = scan.nextInt();
while(numberOfTests<0)
{
System.out.println("Invalid input.");
System.out.println("How many tests would you like the average 
of?");
numberOfTests = scan.nextInt();
}
double sum = 0;
double grade;
System.out.println("Enter " + numberOfTests + " scores.");
for(int i = 0;i<numberOfTests;i++)
{
grade = scan.nextDouble();
sum += grade;
}
double average = (sum/numberOfTests);
System.out.println("Okay " + name.charAt(0) + last.charAt(0) + ", your 
average score is " + (average));
System.out.print("Your letter grade is ");

该程序有效。

看起来scanjava.util.Scanner的一个实例。此类用于从用户输入中读取,因此grade = scan.nextDouble()从用户的输入中读取下一个double

然后sum += grade等价于sum = sum + grade;它将用户输入的grade添加到总成绩(sum(。

因此,循环要求用户输入numberOfTests,并将它们全部添加到sum中。

有关如何读取输入的详细信息,请查看Scannner#nextDouble()的文档。

grade = scan.nextDouble();

这要求用户输入成绩(双精度类型数字(

sum += grade;

然后,对于每次迭代,将输入等级添加到总和中。因此,经过numberOfTests次迭代后,总和将包含numberOfTests等级的总和。 正如@Goion在评论中提到的,sum += grade;基本上是sum = sum + grade;获得总和后,您可以将其除以numberOfTests得到平均值。

此处使用 for 循环来计算所有等级的总和。

这段代码的作用是,它要求您根据numberOfTests的总和输入数字。有,i = 0你输入 2.i = 1输入 3。总和变量将累积:2 + 3.

System.out.println("Enter " + numberOfTests + " scores.");
for(int i = 0;i<numberOfTests;i++){
grade = scan.nextDouble();
sum += grade;
} 

最后,总和将等于5

最后

double average = (sum/numberOfTests);

average = 5/2等于 2.5。

numberOfTests = scan.nextInt();

这里询问他们想输入多少个测试分数。如果输入值小于 0,则再次询问该值。 下面的 for 循环用于根据先前的输入测试值读取 make 数量 并添加所有输入标记

for(int i = 0;i<numberOfTests;i++)
{`enter code here`
}

下面的语句计算平均分数(简单计算总分数/测试数(

double average = (sum/numberOfTests);

相关内容

最新更新