Java 我的eclipse在使用此代码(cpu 100%)后崩溃,有人能确认代码是否有效吗

Java 我的eclipse在使用此代码(cpu 100%)后崩溃,有人能确认代码是否有效吗,java,eclipse,Java,Eclipse,我的Eclipse在使用此代码(cpu 100%)后崩溃,任何人都可以确认代码是否工作。我不知道是不是因为代码错误而崩溃 下面是代码 import java.util.Scanner; public class ClassStudent { public static void main(String[] args) { Scanner input = new Scanner(System.in); int A=0; int F=

我的Eclipse在使用此代码(cpu 100%)后崩溃,任何人都可以确认代码是否工作。我不知道是不是因为代码错误而崩溃

下面是代码

import java.util.Scanner;


public class ClassStudent {

    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);

        int A=0;
        int F=0;
        int total=0;
        int counter=0;
        double Av12;
        int pass=0;
        int fail=0;
        int grade;

        System.out.println("enter grades or enter -1 to exit  :  ");
        grade=input.nextInt();

        while(grade>=0) {

            if (grade>90 && grade<=100) {
                A++;
            pass++;
            }

            if (grade>0 && grade<=59) {
                F++;
            fail++;
            }


            total=total+grade;
            counter++;

        }

        System.out.println("the total is "+total);
        Av12=(double)total/counter;
        System.out.printf("the averge is %.2f %n ",Av12);

        System.out.printf("num of A is %d %n and F is %d%n and fail is %d%n and pass is %d%n ",A,F,fail,pass);

    }

}
import java.util.Scanner;
公立班学生{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
int A=0;
int F=0;
int-total=0;
int计数器=0;
双Av12;
int pass=0;
int fail=0;
国际等级;
System.out.println(“输入等级或输入-1以退出:”);
grade=input.nextInt();
而(等级>=0){

如果(grade>90&&grade>0&&grade我不是一个Java人,但这应该行得通。我可以提供这样的解决方案

import java.util.Scanner;


public class ClassStudent {

    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);

        int A=0;
        int F=0;
        int total=0;
        int counter=0;
        double Av12;
        int pass=0;
        int fail=0;
        int grade;



        do {

    System.out.println("enter grades or enter -1 to exit  :  ");
       grade=input.nextInt();
            if (grade>90 && grade<=100) {
                A++;
            pass++;
            }

            if (grade>0 && grade<=59) {
                F++;
            fail++;
            }


            total=total+grade;
            counter++;

        } while(grade>=0);

        System.out.println("the total is "+total);
        Av12=(double)total/counter;
        System.out.printf("the averge is %.2f %n ",Av12);

        System.out.printf("num of A is %d %n and F is %d%n and fail is %d%n and pass is %d%n ",A,F,fail,pass);

    }

}
import java.util.Scanner;
公立班学生{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
int A=0;
int F=0;
int-total=0;
int计数器=0;
双Av12;
int pass=0;
int fail=0;
国际等级;
做{
System.out.println(“输入等级或输入-1以退出:”);
grade=input.nextInt();
如果(等级>90和等级0和等级=0);
System.out.println(“总计为”+总计);
Av12=(双)总计/计数器;
System.out.printf(“平均值为%.2f%n”,Av12);
System.out.printf(“A的数量是%d%n,F是%d%n,失败是%d%n,通过是%d%n”,A,F,失败,通过);
}
}

由于无限循环,eclipse显示了该错误。 我假设您想检查输入的分数是否为有效条目。 假设输入等级应介于0和100之间,
while(等级>=0)
更改为
if(grade>=0&&grade根据我在循环中的理解,您应该更改迭代变量grade始终大于0这不是Eclipse崩溃-这是您的Java程序永远循环,因为您在
while
循环中从不更改
grade
。您仍然可以告诉Eclipse终止程序。