停留在Java程序上,计算成绩并显示结果
我正在学习Java初学者课程,他们要求我们:停留在Java程序上,计算成绩并显示结果,java,find,average,Java,Find,Average,我正在学习Java初学者课程,他们要求我们: 编写一个程序,根据用户输入的分数列表统计a、B、C、D和F的数量 输入所有分数后,程序必须显示 每个等级计数的水平条形图,如操作部分所示 理货图必须为每个理货单位显示一个“*” 当用户输入a-1时,程序必须显示最终图形和 退出 程序的输出必须显示提示和计数图 如上面的操作部分所示 您可以假设用户只输入数字 操作: 程序启动并提示您输入测试分数或结束 通过输入a-1来启动程序。例如: Number of A's: 0 Number of B's:
- 编写一个程序,根据用户输入的分数列表统计a、B、C、D和F的数量
- 输入所有分数后,程序必须显示 每个等级计数的水平条形图,如操作部分所示
- 理货图必须为每个理货单位显示一个“*”
- 当用户输入a-1时,程序必须显示最终图形和 退出
- 程序的输出必须显示提示和计数图 如上面的操作部分所示
- 您可以假设用户只输入数字
Number of A's: 0
Number of B's: 0
Number of C's: 0
Number of D's: 0
Number of F's: 0
Enter a score (%) or -1 to end: 90
Number of A's: 1
Number of B's: 0
Number of C's: 0
Number of D's: 0
Number of F's: 0
Enter a score (%) or -1 to end: 95
Number of A's: 2
Number of B's: 0
Number of C's: 0
Number of D's: 0
Number of F's: 0
Enter a score (%) or -1 to end: -1
A's: **
B's:
C's:
D's:
F's:
当您输入每个分数时,应用程序将决定该分数是否正确
A、B、C、D或F,并在字母等级统计中加一。像
以下:
Number of A's: 0
Number of B's: 0
Number of C's: 0
Number of D's: 0
Number of F's: 0
Enter a score (%) or -1 to end: 90
Number of A's: 1
Number of B's: 0
Number of C's: 0
Number of D's: 0
Number of F's: 0
Enter a score (%) or -1 to end: 95
Number of A's: 2
Number of B's: 0
Number of C's: 0
Number of D's: 0
Number of F's: 0
Enter a score (%) or -1 to end: -1
A's: **
B's:
C's:
D's:
F's:
每次输入分数时,程序都会更新计分结果。例如:
Number of A's: 0
Number of B's: 0
Number of C's: 0
Number of D's: 0
Number of F's: 0
Enter a score (%) or -1 to end: 90
Number of A's: 1
Number of B's: 0
Number of C's: 0
Number of D's: 0
Number of F's: 0
Enter a score (%) or -1 to end: 95
Number of A's: 2
Number of B's: 0
Number of C's: 0
Number of D's: 0
Number of F's: 0
Enter a score (%) or -1 to end: -1
A's: **
B's:
C's:
D's:
F's:
输入完分数后,程序将显示一条水平线
A、B、C、D和F的计数条形图。像
以下:
Number of A's: 0
Number of B's: 0
Number of C's: 0
Number of D's: 0
Number of F's: 0
Enter a score (%) or -1 to end: 90
Number of A's: 1
Number of B's: 0
Number of C's: 0
Number of D's: 0
Number of F's: 0
Enter a score (%) or -1 to end: 95
Number of A's: 2
Number of B's: 0
Number of C's: 0
Number of D's: 0
Number of F's: 0
Enter a score (%) or -1 to end: -1
A's: **
B's:
C's:
D's:
F's:
规格:
数字等级字母等级
大于或等于90安
小于90但大于或等于80 B
低于80但高于或等于70摄氏度
小于70但大于或等于60 D
低于60华氏度
程序结束时,显示分数数、平均分数和最佳分数
例如:
分数:2
平均分:92.5
最佳分数:95.0
我们还被指示至少使用两种方法进行编码:一种是有一个void,另一种是返回一些东西
到目前为止,我只能够统计输入的分数,但我似乎无法集中精力记录所有输入,计算平均值并选出最佳分数
这就是我到目前为止所做的:
import java.util.*;
public class ScoreTally {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int aCount = 0;
int bCount = 0;
int cCount = 0;
int dCount = 0;
int fCount = 0;
int scoreCount = -1;
double score = 0;
while (score != -1) {
if (score >= 90)
aCount++;
else if ((score < 90) && (score >= 80))
bCount++;
else if ((score < 80) && (score >= 70))
cCount++;
else if ((score < 70) && (score >= 60))
dCount++;
else if ((score < 60) && (score > 0))
fCount++;
System.out.println("Number of A's: " + aCount);
System.out.println("Number of B's: " + bCount);
System.out.println("Number of C's: " + cCount);
System.out.println("Number of D's: " + dCount);
System.out.println("Number of F's: " + fCount);
System.out.print("Enter a score (%) or -1 to end: ");
score = input.nextDouble();
scoreCount++;
}
if (score == -1)
System.out.println("Number of scores: " + scoreCount);
}
}
import java.util.*;
公开课计分{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
int aCount=0;
int bCount=0;
int cCount=0;
int dCount=0;
int fCount=0;
整数分数=-1;
双倍得分=0;
while(分数!=-1){
如果(分数>=90)
aCount++;
否则如果((分数<90)和(&(分数>=80))
bCount++;
否则如果((分数<80)和(&(分数>=70))
cCount++;
否则如果((分数<70)和(&(分数>=60))
dCount++;
否则如果((分数<60)和(&(分数>0))
fCount++;
System.out.println(“A的数量:+A计数);
System.out.println(“B的数量:+B计数);
System.out.println(“C的数量:+Account”);
System.out.println(“D的数量:+D计数);
System.out.println(“F的数量:+fCount”);
系统输出打印(“输入分数(%)或-1结束:”;
score=input.nextDouble();
scoreCount++;
}
如果(分数==-1)
System.out.println(“分数数:”+分数计数);
}
}
首先,您已经有了统计结果的代码
int aCount = 0;
int bCount = 0;
int cCount = 0;
int dCount = 0;
int fCount = 0;
int scoreCount = -1;
您需要的是另一个字段,它将保存总分,即
int totalScore = 0;
您需要在进入while循环之前提示输入第一个分数,否则它将无法在第一次迭代中正常运行。在结束(或开始)时,您需要使用该轮输入的任何内容更新totalScore
,如果输入为-1,则不进行更新
平均分数只是totalScore/scoreCount
您应该在完成while循环后计算出来
要获得最佳分数,您可以为int=maxScore
您可以在循环的每次迭代中使用
maxScore=Math.max(maxScore,score)代码>
max返回两个数字中的最大值。这相当简单。声明两个变量,一个用于avgScore,一个用于在程序开始时
double bestScore = 0.0;
double avgScore = 0.0;
double totalScore = 0.0;
while (score != -1) {
totalScore = totalScore + score;
if(score > bestScore)
bestScore = score;
if (score >= 90)
aCount++;
else if ((score < 90) && (score >= 80))
bCount++;
else if ((score < 80) && (score >= 70))
cCount++;
else if ((score < 70) && (score >= 60))
dCount++;
else if ((score < 60) && (score > 0))
fCount++;
System.out.println("Number of A's: " + aCount);
System.out.println("Number of B's: " + bCount);
System.out.println("Number of C's: " + cCount);
System.out.println("Number of D's: " + dCount);
System.out.println("Number of F's: " + fCount);
System.out.print("Enter a score (%) or -1 to end: ");
score = input.nextDouble();
scoreCount++;
}
if (score == -1){
System.out.println("Number of scores: " + scoreCount);
avgScore = totalScore/scoreCount;
System.out.println("Best Score: " + bestScore);
System.out.println("Avg Score: " + avgScore);
}
double bestScore=0.0;
双avgScore=0.0;
双倍总分=0.0;
while(分数!=-1){
总分=总分+总分;
如果(分数>最佳分数)
最佳分数=分数;
如果(分数>=90)
aCount++;
否则如果((分数<90)和(&(分数>=80))
bCount++;
否则如果((分数<80)和(&(分数>=70))
cCount++;
否则如果((分数<70)和(&(分数>=60))
dCount++;
否则如果((分数<60)和(&(分数>0))
fCount++;
System.out.println(“A的数量:+A计数);
System.out.println(“B的数量:+B计数);
System.out.println(“C的数量:+Account”);
System.out.println(“D的数量:+D计数);
System.out.println(“F的数量:+fCount”);
系统输出打印(“输入分数(%)或-1结束:”;
score=input.nextDouble();
scoreCount++;
}
如果(分数==-1){
System.out.println(“分数数:”+分数计数);
avgScore=总分/分数计数;
System.out.println(“最佳分数:+bestScore”);
System.out.println(“平均分数: