首页 > 解决方案 > 我怎样才能让这个 if 语句正常工作?

问题描述

对于我的程序,我想要一些询问学生人数,询问他们的分数,然后显示这些分数中有多少是 A、B、C 等的输出。因此,如果我输入 5 个学生,我应该能够输入这 5 个分数,然后它会显示相应的成绩。相反,它在输入一个分数后显示相应的成绩,然后要求另一个分数。

//Declarations
    int A=0,B=0,C=0,D=0,F=0, score,I, students;
    I=1;

    System.out.println("How many students are in your class: ");
    students = input.nextInt();
    while (I<=students) {
    System.out.println("enter a score:");
    score=input.nextInt();


    if(score >= 90 && score <= 100)
        A++;
    else if(score>=80 && score<=89)
        B++;
    else if(score>=70 && score<=79)
        C++;
    else if(score>=60 && score<=69)
        D++;
    else if(score>=0 && score<=59)
        F++;


       System.out.println("Total number of A's:"+ A);
       System.out.println("Total number of B's:"+ B);
       System.out.println("Total number of C's:"+ C);
       System.out.println("Total number of D's:"+ D);
       System.out.println("Total number of F's:"+ F);


}

}}

标签: javafor-loopif-statementwhile-loop

解决方案


简而言之 - 您的 while 循环的范围需要更小:

详细信息:对于每个学生,您要处理他们的考试成绩并增加几个变量之一。一旦你完全做到了(例如退出循环!) - 你想要总结结果。

//Declarations
    int A=0,B=0,C=0,D=0,F=0, score,I, students;
    I=1;

    System.out.println("How many students are in your class: ");
    students = input.nextInt();
    while (I<=students) { // <-- separate unrelated problem where you aren't iterating properly
        System.out.println("enter a score:");
        score=input.nextInt();


        if(score >= 90 && score <= 100)
            A++;
        else if(score>=80 && score<=89)
            B++;
        else if(score>=70 && score<=79)
            C++;
        else if(score>=60 && score<=69)
            D++;
        else if(score>=0 && score<=59)
            F++;
        }
        I++;
    } // <- the while loop should end here 

   System.out.println("Total number of A's:"+ A);
   System.out.println("Total number of B's:"+ B);
   System.out.println("Total number of C's:"+ C);
   System.out.println("Total number of D's:"+ D);
   System.out.println("Total number of F's:"+ F);

}

推荐阅读