带有 grade 和 sum 的 for 循环内部发生了什么?我不知道它在做什么
What is happening inside the for loop with grade and sum? I have no clue what it's doing
这是一个程序,可以根据他想要的输入数量计算用户测试平均值。但是,我不知道 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 ");
程序有效。
grade = scan.nextDouble();
这要求用户输入成绩(双精度数字)
sum += grade;
然后对于每次迭代,将输入的成绩添加到总和中。因此在 numberOfTests
次迭代之后,sum 将包含 numberOfTests
成绩的总和。
正如@Goion 在评论中提到的,sum += grade;
基本上是 sum = sum + grade;
一旦你得到总和,你可以将它除以 numberOfTests
得到平均值。
这里使用了for循环来计算所有成绩的总和。
看起来 scan
是 java.util.Scanner
的一个实例。此 class 用于从用户输入中读取,因此 grade = scan.nextDouble()
从用户输入中读取下一个 double
。
则sum += grade
等同于sum = sum + grade
;它将用户输入的 grade
添加到总成绩 (sum
)。
因此循环要求用户输入 numberOfTests
,并将它们全部添加到 sum
。
有关如何读取输入的详细信息,请查看 the documentation for Scannner#nextDouble()
。
这段代码的作用是让你根据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);
这是一个程序,可以根据他想要的输入数量计算用户测试平均值。但是,我不知道 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 ");
程序有效。
grade = scan.nextDouble();
这要求用户输入成绩(双精度数字)
sum += grade;
然后对于每次迭代,将输入的成绩添加到总和中。因此在 numberOfTests
次迭代之后,sum 将包含 numberOfTests
成绩的总和。
正如@Goion 在评论中提到的,sum += grade;
基本上是 sum = sum + grade;
一旦你得到总和,你可以将它除以 numberOfTests
得到平均值。
这里使用了for循环来计算所有成绩的总和。
看起来 scan
是 java.util.Scanner
的一个实例。此 class 用于从用户输入中读取,因此 grade = scan.nextDouble()
从用户输入中读取下一个 double
。
则sum += grade
等同于sum = sum + grade
;它将用户输入的 grade
添加到总成绩 (sum
)。
因此循环要求用户输入 numberOfTests
,并将它们全部添加到 sum
。
有关如何读取输入的详细信息,请查看 the documentation for Scannner#nextDouble()
。
这段代码的作用是让你根据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);