【问题标题】:Multiple conditions for a Do..While Loop in JavaJava中Do..While循环的多个条件
【发布时间】:2016-02-14 12:32:45
【问题描述】:

基本上我正在实现一个 do while 循环。要求用户输入一个值,然后返回一个值 - 这是在 do 循环中使用嵌套的 If 语句。在循环结束时,我问他们是否要输入另一个值,基本上是或否。这是我下面的代码,我本质上需要一种方法来在最后询问问题时执行...

“您要输入另一个值吗?” - “否” - 终止 “您要输入另一个值吗?” - “是” - 循环 “您要输入另一个值吗?” - 任何其他值,例如“也许”——再问一遍。

代码:

import java.util.Scanner;

public class More_Grades {


public static void main (String [] args) {

    Scanner scan = new Scanner(System.in);
    String A = "Your grade is: ";

    int grade = 0;
    String y;

    do {
        System.out.println("Please Enter Your Grade: ");
        grade = scan.nextInt();
        if (grade < 40) {
            System.out.println(A+"Fail");
        }
        else if (grade >= 40 && grade <= 49) {
            System.out.println(A+"3rd");
        }
        else if (grade >= 50 && grade <= 59) {
            System.out.println(A="2/2");
        }
        else if (grade >= 60 && grade <= 69) {
            System.out.println(A+"2/1");
        }
        else if (grade >= 70 && grade < 100) {
            System.out.println(A+"1st");
        }
        else if(grade >100) {
            System.out.println("Invalid grade,Enter a value below 100.");
        }
        System.out.println("Would you like to Enter Another? Y/N");
        y = scan.next();

    }while (y.equals("yes"));
    scan.close();
    System.out.println("Thank-You.");
}

}

【问题讨论】:

  • 我希望这不是家庭作业。否则,在什么奇异的宇宙中,将您的作业发布在 SO 上,其中包含 @author &lt;YourName&gt; - &lt;Your student ID&gt; 之类的内容是个好主意? :-)
  • 来晚了,编辑了...不过还是谢谢!
  • @paxdiablo 也许他老师并且想要编写一个程序来处理他的学生的成绩。 :P
  • 只是一件小事。您不需要大多数if 语句的第一位,因为例如grade &gt;= 40 暗示它与前一个grade &lt; 40 不匹配。而且您可能应该允许人们获得 100% 而不抱怨它是无效的(使用 &lt;= 100 而不是 &lt; 100)。

标签: java loops if-statement conditional-statements do-while


【解决方案1】:

你只需要在当前循环中再做一个 do-while 来重复这个问题:

do {
    ...
   do {
       System.out.println("Would you like to enter another? (yes/no)");
       answer = scan.next();
   } while (!Arrays.asList("yes", "no").contains(answer));
} while (answer.equals("yes");

【讨论】:

    猜你喜欢
    • 2022-10-14
    • 2013-03-23
    • 1970-01-01
    • 1970-01-01
    • 2018-02-08
    • 2018-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多