java - 如何循环回到我的方法?(Java)

标签 java loops

好吧,我想循环回来

我想使用字母“y”和“n”,使用用户“y”的输入来循环,使用“n”来停止程序。我可以通过使用带有 boolean 值的 while 循环来实现此目的吗? (我很抱歉我是菜鸟。)

public static void main(String[]args)
{
    int gn; //gradenumber input
    Scanner reader = new Scanner(System.in);
    System.out.println("Type in a whole number from 0-100 for a grade output: ");
    gn = reader.nextInt();


    if (gn >= 96 && gn <=100)
    {
        System.out.println("A+");
    }
    else if (gn >= 92 && gn <= 96)
    {
        System.out.println("A");
    }
    else if (gn >= 90 && gn <= 91)
    {
        System.out.println("A-");
    }

    else if (gn >= 86 && gn <= 89)
    {
        System.out.println("B+");
    }

    else if (gn >= 82 && gn <= 85)
    {
        System.out.println("B");
    }

    else if (gn >= 80 && gn <= 81)
    {
        System.out.println("B-");
    }
    else if (gn >= 76 && gn <= 79)
    {
        System.out.println("C+");
    }
    else if (gn >= 72 && gn <= 75)
    {
        System.out.println("C");
    }
    else if (gn >= 70 && gn <= 71)
    {
        System.out.println("C-");
    }
    else if (gn >= 66 && gn <= 69)
    {
        System.out.println("D+");
    }
    else if (gn >= 62 && gn <= 65)
    {
        System.out.println("D");
    }
    else if (gn >= 60 && gn <= 61)
    {
        System.out.println("D-");
    }
    else if (gn >= 0 && gn <= 59)
    {
        System.out.println("F");
    }
    else if (gn > 100)
    {
        System.out.println("Error");
    }
    else if (gn < 0)
    {
        System.out.println("Error");
    }

最佳答案

创建一个 char 变量来保存用户选择输入(或不输入)更多成绩 (y/n) 并将成绩输入和标记输出放入 do/while循环。

import java.util.Scanner;

public class Main
{
    public static void main(String[] args)
    {
        int gn; // gradenumber input
        char choice; // choice input (y/n)

        Scanner reader = new Scanner(System.in);

        do
        {
            System.out.println("Type in a whole number from 0-100 for a grade output: ");
            gn = reader.nextInt();

            if (gn >= 96 && gn <= 100) System.out.println("A+");
            else if (gn >= 92 && gn <= 96) System.out.println("A");
            else if (gn >= 90 && gn <= 91) System.out.println("A-");
            else if (gn >= 86 && gn <= 89) System.out.println("B+");    
            else if (gn >= 82 && gn <= 85) System.out.println("B");    
            else if (gn >= 80 && gn <= 81) System.out.println("B-");
            else if (gn >= 76 && gn <= 79) System.out.println("C+");
            else if (gn >= 72 && gn <= 75) System.out.println("C");
            else if (gn >= 70 && gn <= 71) System.out.println("C-");
            else if (gn >= 66 && gn <= 69) System.out.println("D+");
            else if (gn >= 62 && gn <= 65) System.out.println("D");
            else if (gn >= 60 && gn <= 61) System.out.println("D-");
            else if (gn >= 0 && gn <= 59) System.out.println("F");
            else if (gn < 0 || gn > 100)  System.out.println("Error");

            System.out.println("Do you want to input more grades (y/n)?");
            choice = reader.next().charAt(0);

        } while (choice != 'n'); // repeat until user enters 'n'

        reader.close();
    }
}

此外,不要忘记close()您的Scanner对象以避免资源泄漏警告。

关于java - 如何循环回到我的方法?(Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40477174/

相关文章:

java - 字符串数组的 ArrayList

java - 如何将 Java 后端与 html/css 前端连接起来?

ruby - rspec:第一次失败后如何继续测试

javascript - 使用 Canvas 和 javascript 循环使用 if 语句的框架

python - 为什么lambda函数保持循环最后一步的形式?

java - org.codehaus.cargo.container.ContainerException : Cannot create deployable

Java 并发 - 为什么同步 setter(而不是 getter)不能使类线程安全?

c - 如何有效地迭代以 2 为基数的 vector

java - 帮助我理解在 java 中这个循环中发生了什么

java - 比较 Java 中的 float 和 double 原语