【发布时间】:2017-04-21 11:24:31
【问题描述】:
我对 java 很陌生,whixh 解释了 loq 质量代码。我正在尝试计算我在代码中输入的分数的平均值,如下所示,但它只得到我在执行其余代码后输入的数字的平均值。我如何使用这行代码找到我之前在代码中输入的分数的平均值:
System.out.printf(“%.2f”, 平均);
为了清楚起见,我想要在我加上星号的行之后输入的数字的平均值。
谢谢
import java.util.Scanner;
public class week4
{
public static void main(String[] args) {
int n =1;
{
do{
n++;
String studentname;
int mark;
Scanner inText = new Scanner(System.in);
System.out.print("Please enter the name of the student >> ");
studentname = inText.nextLine();
Scanner inNumber = new Scanner(System.in);
*System.out.print("Please enter mark for student " + studentname + " out of 100 >> ");*
mark = inText.nextInt();
if(mark <50) System.out.println("The grade for " + studentname + " is F " );
else if(mark <65) System.out.println("The grade for " + studentname + " is P " );
else if(mark <75) System.out.println("The grade for " + studentname + " is C " );
else if(mark <85) System.out.println("The grade for " + studentname + " is D " );
else System.out.println("The grade for " + studentname + " is HD" );
} while(n <=3);
Scanner input = new Scanner(System.in);
int sum = 0;
int mark;
int average;
int counter = 1;
while (counter < 2){
mark = input.nextInt();
sum = sum + mark;
counter++;
average = sum/3;
System.out.printf("The aerage score is " + average );
}
}
}
}
【问题讨论】:
-
你的平均值不应该是浮动的吗?
-
在我们继续之前:您希望将标记存储在
mark变量中,在第一个do-while循环中读取它们,然后计算平均值,对吗? -
系统输入中有很多
Scanner。您使用相同的除法器对每个循环进行平均,但条件不匹配,在停止循环之前您只会读取一个值 -
请正确缩进您的代码。就目前而言,这并不容易阅读。您的 IDE 可以为您完成。