java - Java使用if else语句的方法返回值
问题描述
我在 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
我希望能够做的主要是:
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');
推荐阅读
- python - 如何使用opencv和python找到两个重叠物体的质心
- javascript - SqlLite-WebSQL 选择并添加到传单地图作为 geojson 层
- python-3.x - 如何使用 python 将图像转换为多边形网格 3d 模型
- react-native - 将文本包裹在视图内而不会溢出
- javascript - Vue 将插槽数据存储在父组件中
- sql - 在 Postgresql 中选择带有计数的数据
- csrf - 使用带有 Fastify 适配器和“fastify-csrf”插件的 NestJS 时,“无法读取未定义的属性 '_csrf'”?
- vue.js - Vuelidate - 摇晃不正确的输入字段
- openid-connect - Authlib OpenID Connect 刷新令牌
- odoo - 打印出pdf时qweb报告odoo 8中的Wkhtmltopdf错误