Java 编写一个包含while循环代码的程序,计算用户输入的考试分数

Java 编写一个包含while循环代码的程序,计算用户输入的考试分数,java,if-statement,while-loop,do-while,Java,If Statement,While Loop,Do While,在我正在做的一项任务中,我为以下问题编写了一个程序。 “编写一个程序,读取以0到100之间的整数百分比给出的考试分数列表。按如下方式显示每个字母等级类别中的总分数和分数:90-100是a,80-89是B,70-79是C,60-69是D,0-59是F。使用负分数作为前哨值表示输入结束。” 例如,输入: 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 //这是我写的代码。/

在我正在做的一项任务中,我为以下问题编写了一个程序。

“编写一个程序,读取以0到100之间的整数百分比给出的考试分数列表。按如下方式显示每个字母等级类别中的总分数和分数:90-100是a,80-89是B,70-79是C,60-69是D,0-59是F。使用负分数作为前哨值表示输入结束。”

例如,输入: 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

//这是我写的代码。//
导入java.util.Scanner;
公营班级
{
公共静态void main(字符串[]args)
{
INTA_等级=0;
int B_等级=0;
int C_等级=0;
int D_等级=0;
int F_等级=0;
整数计数=0;
扫描仪输入=新扫描仪(系统输入);
System.out.println(“将考试分数输入为0到100之间的整数百分比:”;
int score=in.nextInt();
而(得分>0)
{
计数++;

如果(分数>=90&&score=80&&score=70&&score=60&&score=0&&score从循环中删除
System.out.println(“将考试分数输入为0到100范围内的整数百分比”);
,如果您不想多次看到此消息。

它持续打印出来的原因是因为“扫描仪”您正在使用的类不会暂停以进行输入

我建议您使用BufferedReader

我假设您每次都需要要求用户输入一个值。因此,如果您删除文本以解决多重显示问题,用户将不会收到消息

我附上了一段代码,其中包含一个BufferedReader,可以解决您的问题:


//这是我写的代码。//
导入java.util.Scanner;
导入java.io.*;
导入java.io.BufferedReader;
导入java.util.*;
公营班级{
公共静态void main(字符串[]args){
INTA_等级=0;
int B_等级=0;
int C_等级=0;
int D_等级=0;
int F_等级=0;
整数计数=0;
试一试{
//扫描仪输入=新扫描仪(系统输入);
BufferedReader br=新的BufferedReader(新的InputStreamReader(System.in));
System.out.println(“将考试分数输入为0到100之间的整数百分比:”;
int score=Integer.parseInt(br.readLine());
而(得分>0){
计数++;

如果(分数>=90&&score=80&&score=70&&score=60&&score=0&&score谢谢您的回答

这是最终的代码,它工作得非常完美

 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");
    System.out.println("And enter a negative score at the end of the list :");
    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++;
    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
import java.util.Scanner;
公营班级
{
公共静态void main(字符串[]args)
{
INTA_等级=0;
int B_等级=0;
int C_等级=0;
int D_等级=0;
int F_等级=0;
整数计数=0;
扫描仪输入=新扫描仪(系统输入);
System.out.println(“将考试分数输入为0到100之间的整数百分比”);
System.out.println(“并在列表末尾输入一个负数:”);
int score=in.nextInt();
而(得分>0)
{
计数++;

如果(分数>=90&&score=80&&score=70&&score=60&&score=0&&score=0&&score)调查您的while循环及其状况。通过删除它,您不认为您正在破坏用户友好性吗?
 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");
    System.out.println("And enter a negative score at the end of the list :");
    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++;
    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