Java 使用 if else 语句的方法返回值

标签 java if-statement methods return

我在 java 中创建了一个方法,可以打印如下所示的菜单屏幕:

MENU
c - Number of whitespace characters
f - Find text
r - Replace all !'s
q - Quit

Choose an option:

该方法返回一个字符。如何使用 main 中方法的返回值来制作 if else 语句?

打印菜单方法:

public static char printMenu(Scanner scnr) {
      char menuOp;

      //display the menu
      System.out.println("\nMENU");
      System.out.println( "c - Number of whitespace characters");
      System.out.println("f - Find text");
      System.out.println("r - Replace all !\'s");
      System.out.println("q - Quit\n");

      menuOp = ' ';

      //loop until the user has entered a c, f, r or q
      while (menuOp != 'c' && menuOp != 'f' &&
                menuOp != 'r' &&  
                menuOp != 'q') {
         System.out.println( "Choose an option:");
         menuOp = scnr.nextLine().charAt(0);
      }

      //return the letter that the user entered
      return menuOp;
   }  //end of the printMenu method

我希望能够在 main 中做什么:

while (return value from printMenu method != 'q'){

      printMenu(scnr);
      if (return value from printMenu method == 'c'){ //do this                    
      }
      else if (return value from printMenu method == 'f'){ //do this
      }
      else if (return value from printMenu method == 'r'){ //do this
      }
   }
}

我还是个新人,非常感谢您的帮助、耐心和善意。谢谢

编辑 - 我必须使用 printMenu() 的返回值作为项目的要求。

最佳答案

这似乎是使用do-while循环的一个很好的例子:

    Scanner scanner = new Scanner(System.in);
    char c;
    do
    {
        c = printMenu(scanner);
        switch (c)
        {
            case 'c':
                //do something
                break;
            case 'f':
                //do something
                break;
            case 'r':
                //do something
                break;

        }
    } while(c != 'q');

关于Java 使用 if else 语句的方法返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60966148/

相关文章:

java - java中的完美数使用方法做作业

java - 为什么带有 Scanner 的 If 语句不断循环

java - 从方法中获取值

java - 在 Java 中将 DynamoDB JSON 文档转换为 JSON 对象

python - 如何测试多个变量与单个值的相等性?

java - 认证有效用户

javascript - Fizz Buzz 游戏 Javascript 的未定义结果

java - 如何让Java中的扫描仪不关心标点符号

Java套接字连接

java - 泛型:无法从 <capture#1-of 转换?将 Object,D> 扩展到 <S,D>