【发布时间】:2015-06-21 08:00:24
【问题描述】:
我为正在执行的任务中的以下问题编写了一个程序。
“编写一个程序来读取以 0 到 100 范围内的整数百分比形式给出的考试分数列表。显示总成绩数和每个字母等级类别中的成绩数,如下所示:90- 100是A,80-89是B,70-79是C,60-69是D,0-59是F。用负分作为sentinel值,表示输入结束。”
例如,输入: 98,87,86,85,85,78,73,72,72,70,66,63,50,-1
输出应该是:
输入的总成绩为 13
A =1
B's=4
C's=5
D's=2
F's=1
//This is the code I wrote.//
import java.util.Scanner;
public class grade
{
public static void main(String[] args)
{
int A_grades = 0;
int B_grades = 0;
int C_grades = 0;
int D_grades = 0;
int F_grades = 0;
int count=0;
Scanner in = new Scanner(System.in);
System.out.println("Enter exam score as integer percentage in range 0 to 100 :");
int score = in.nextInt();
while(score>0)
{
count++;
if(score>=90 && score<=100)
A_grades++;
else if(score>=80 && score<=89)
B_grades++;
else if(score>=70 && score<=79)
C_grades++;
else if(score>=60 && score<=69)
D_grades++;
else if(score>=0 && score<=59)
F_grades++;
System.out.println("Enter exam score as integer percentage in range 0 to 100 :");
score = in.nextInt();
} //end while
System.out.println("Total number of grades :"+ count);
System.out.println("Total number of A grades :"+ A_grades);
System.out.println("Total number of B grades :"+ B_grades);
System.out.println("Total number of C grades :"+ C_grades);
System.out.println("Total number of D grades :"+ D_grades);
System.out.println("Total number of F grades :"+ F_grades);
} // end main
} // end class
下面是程序的输出。
将考试分数输入为 0 到 100 范围内的整数百分比:
88 98 78 68 55 45 -1
将考试分数输入为 0 到 100 范围内的整数百分比:
将考试分数输入为 0 到 100 范围内的整数百分比:
将考试分数输入为 0 到 100 范围内的整数百分比:
将考试分数输入为 0 到 100 范围内的整数百分比:
将考试分数输入为 0 到 100 范围内的整数百分比:
将考试分数输入为 0 到 100 范围内的整数百分比:
总成绩:6
A 成绩总数:1
B 级总数:1
C级总数:1
D级总数:1
F级总数:2
在输出中不断重复“输入考试分数作为整数百分比,范围为 0 到 100:”
如何编写代码只显示一次?
【问题讨论】:
-
调查你的while循环和它的条件。
标签: java if-statement while-loop do-while