程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何让这个while循环一次只提示用户一次大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_262_0@如何解决如何让这个while循环一次只提示用户一次? 开发过程中遇到如何让这个while循环一次只提示用户一次的问题如何解决?下面主要结合日常开发的经验,给出你关于如何让这个while循环一次只提示用户一次的解决方法建议,希望对你解决如何让这个while循环一次只提示用户一次有所启发或帮助;

// 基本上我需要提示用户输入成绩并计算 A 的数量 B 等等。我无法弄清楚如何让每个用户输入循环一次。它只是垃圾邮件输入试成绩。 编辑感谢大家对我的帮助!

public static voID main(String[] args) {
    ScAnner input = new ScAnner(system.in); 
    int numAs = 0;
    int numBs = 0;
    int numCs = 0;
    int numFs = 0;
    int grade = 0;
    while (grade >= 0 && grade <= 100)
    System.out.println("Enter an exam grade");
    grade = input.nexTint();
    if (grade >= 90) {numAs++;
    }else if (grade >=80 && grade<= 89 ) {numbs++;
    }else if (grade >= 70 && grade <= 79) {numCs++;
    }else if (grade <= 69) {numFs++;
    }else if (grade < 0 || grade > 100) {System.out.println("Error invalID grade entered.");
    }
    }

}

@H_262_0@解决方法

在 while 语句之后缺少大括号。如果没有指定大括号,while 循环只包含下面的语句,而不是整个块。

public static void main(String[] args) {
    ScAnner input = new ScAnner(System.in); 
    int numAs = 0;
    int numBs = 0;
    int numCs = 0;
    int numFs = 0;
    int grade = 0;
    while (grade >= 0 && grade <= 100){
    System.out.println("Enter an exam grade");
    grade = input.nexTint();
    if (grade >= 90) {numAs++;
    }
    else if (grade >=80 && grade<= 89 ) {numbs++;
    }
    else if (grade >= 70 && grade <= 79) {numCs++;
    }
    else if (grade <= 69) {numFs++;
    }
    else if (grade < 0 || grade > 100) {System.out.println("Error invalid grade entered.");
    }

    }
}
,

如果您正确格式化了代码,您会看到您的 While 循环没有花括号,因此它只包含以下行。

ScAnner input = new ScAnner(System.in);
int numAs = 0;
int numBs = 0;
int numCs = 0;
int numFs = 0;
int grade = 0;
while (grade >= 0 && grade <= 100) 
    System.out.println("Enter an exam grade");
    //WHILE ENDS HERE
grade = input.nexTint();
if (grade >= 90) {
    numAs++;
} else if (grade >= 80 && grade <= 89) {
    numbs++;
} else if (grade >= 70 && grade <= 79) {
    numCs++;
} else if (grade <= 69) {
    numFs++;
} else if (grade < 0 || grade > 100) {
    System.out.println("Error invalid grade entered.");
}

即使您添加了缺失的 {,它也不能解决多个问题 - 错误输入会发生什么;以及如何正确停止循环。所以虑到所有因素,这可能会好一点:

ScAnner input = new ScAnner(System.in);
int numAs = 0,numbs = 0,numCs = 0,numFs = 0;
int grade = 0;
String in = "";
while (true) {
    System.out.println("Enter an exam grade or Q to exit");
    //WHILE ENDS HERE
    in = input.nextLine();
    if ("Q".equals(in)) {
        System.out.println("That's it!");
        break;
    }
    try {
        grade = Integer.parseInt(in); //get caught if not a num
        if (grade < 0 || grade > 100) { //gets caught if bad num
            throw new Exception();
        }
    } catch (Exception E) {
        System.out.println("Error invalid grade entered.");
    }
    if (grade >= 90)
        numAs++;
    else if (grade >= 80 && grade <= 89)
        numbs++;
    else if (grade >= 70 && grade <= 79)
        numCs++;
    else if (grade <= 69)
        numFs++;
    System.out.println("Saved.");
}
//ConTinue after breaking the loop

大佬总结

以上是大佬教程为你收集整理的如何让这个while循环一次只提示用户一次全部内容,希望文章能够帮你解决如何让这个while循环一次只提示用户一次所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: