gpt4 book ai didi

java - 如果它不是使用扫描仪的 int ,我怎样才能不允许用户输入?

转载 作者:行者123 更新时间:2023-11-30 07:39:57 26 4
gpt4 key购买 nike

我是一个非常新的程序员,我刚刚了解了扫描仪,但我正在尝试找到一种方法来实现它,以便当我按向上或向下键时,它会循环显示选项,在前面添加 > 来了解这是当前选择的选项。

这是提示:

What would you like to do:  
Attack
Inventory
Stats
Flee

我希望它在所选的前面有一个箭头,并使用向上和向下箭头键更改选择。例如,一旦出现提示,它就会看起来像这样:

你想做什么:

What would you like to do:  
> Attack
Inventory
Stats
Flee

如果您按向下箭头键两次:

What would you like to do:  
Attack
Inventory
> Stats
Flee

所以我当前的代码如下所示:

public class Prompter {

Scanner input = new Scanner(System.in);
public int options() throws IOException {
System.out.printf("What would you like to do:%nAttack %n Inventory %n Stats %n Flee %n");
while (!input.hasNextInt()) input.next();
int choice = input.nextInt();
System.out.printf("Choice: %d", choice);
return choice;
}
}

它现在所做的是接受 int 输入并返回它。

请不要在没有解释的情况下向我发送大量代码,因为我是一个相当新的程序员。谢谢!

最佳答案

正如前面的评论中提到的,不可能在控制台中轻松实现这种行为。

一个简单的解决方法是将数字映射到选项后面。 (攻击(1),库存(2),..)并扩展您的代码,例如:

int inputChoice = input.nextInt();
String choice = "";
switch(inputChoice){
case 1: choice = "Action";
case 2: choice = "Inventory";
// add cases
}
System.out.println("Choice: " +choice);
return choice; // or inputChoice if you want to return an int value

这不是最好的方法,但足以满足您当前的需求。

关于java - 如果它不是使用扫描仪的 int ,我怎样才能不允许用户输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34830864/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com