作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试为 future 的工作创建一个库,作为作业的一部分,并且我已经完成了大部分工作,但是我不知道如何从用户输入的数组中创建基于控制台的菜单。只是为了澄清,我并不是在要求答案,因为我才刚刚开始,但我想要的是一个继续的良好起点,例如命令或我可以使用的东西。我会 pos`/** * 使用选项中的字符串作为菜单生成基于控制台的菜单 * 项目。当 withQuit 为 true 时,为“退出”选项保留数字 0。 * * @参数选项 * - 代表菜单选项的字符串 * @param withQuit * - 当 true 时添加“退出”选项 0 * @return 用户所做选择的int */
public static int promptForMenuSelection(String[] options, boolean withQuit) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String.
}`
抱歉,如果上述要求的代码难以阅读。请帮忙,这是作业中的最后两项任务之一,我已准备好完成它。
谢谢。
最佳答案
当您检查用户输入的内容时,您可以将其与数组的索引进行匹配。例如:
// Scanner for user input:
Scanner scanner = new Scanner(System.in);
// Gets the index (Surround with try/catch to prevent errors)
int userRequest = Integer.ParseInt(scanner.nextLine());
if(withQuit && userRequest == 0)
return // Whatever value you want to return here on quit;
if(userRequest - 1 > options.length)
return // Whatever value you want to return when the request is out of range;
for(int i = 0; i < options.length; i++)
if(options[i] == userRequest - 1)
return i; // Returns the option index
由于您尝试返回一个整数,因此我假设您不会关心数组中的值。但如果你这样做,只需将 return 语句设置为:
return options[i];
并在函数头中将返回设置为 String 而不是 int 。
关于java - 如何用数组制作基于控制台的菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40251556/
我是一名优秀的程序员,十分优秀!