我在 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/