这是一个程序,它根据用户想要的输入数量来计算用户的测试平均值。但是,我不知道 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 ");
该程序有效。
看起来scan
是java.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);