【发布时间】:2020-07-05 08:55:08
【问题描述】:
我在做这部分时需要帮助
“确定有多少分数高于或等于平均值,有多少分数低于平均值。”
谁能提供一些想法如何根据需要获取输出
例如:输入要处理的测验分数数:5
分数 1:10
分数 2:8
分数 3:9
得分 4:2
分数 5:4
结果
=======
平均为 6.6
高于或等于平均分的数为3
低于平均分的分数为 2
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter number of quiz scores to process:");
int totalScore=scanner.nextInt();
int[]scoreNum= new int[totalScore];
int i;
double total=0.0;
for(i=0;i<totalScore;i++){
System.out.printf("Score %d:", i+1 );
scoreNum[i]=scanner.nextInt();
total += scoreNum[i];
}
double average=total/totalScore;
System.out.format("The Average is :%.1f\n",average);
【问题讨论】:
-
欢迎来到 Stack Overflow。请通过tour 了解 Stack Overflow 的工作原理,并阅读How to Ask 以了解如何提高问题的质量。然后查看help center,看看你可以问什么问题。请参阅:Why is “Can someone help me?” not an actual question?。您遇到的确切问题是什么?您可以使用简单的
if()和<或>运算符来查看一个值是更小还是更大的另一个值。 -
看起来您只发布了一半的代码,或者是学校作业。无论如何,来到解决方案,我看到你已经有平均水平了。现在您已经有了平均值和输入的数字,只需遍历该数组
scoreNum并将其与average进行比较。 -
感谢您的建议,我认为我遇到的确切问题是让用户输入有点 if() 因为用户输入是循环的一部分,其中平均声明和计算发生在循环之后,所以我面临一个问题,我不能让用户输入成为 if() 语句的一部分。
-
您的变量是在 for 循环之前声明的,因此它们在它之后也可用(在您当前打印出平均值的位置。您可能需要另一个循环来再次检查分数值在你计算出平均值之后。
-
@SooKinChun 看看我的回答
标签: java