gpt4 book ai didi

java - 如果扫描仪读取特定输入则中断

转载 作者:行者123 更新时间:2023-12-01 11:48:40 24 4
gpt4 key购买 nike

我有一个扫描仪可以读取输入,但是当它读取'q'时需要退出。问题是我找不到办法做到这一点。

Scanner sc = new Scanner(System.in);
System.out.println("question 1");
str1 = sc.nextLine();
System.out.println("question 2");
str2 = sc.nextLine();
System.out.println("question 3");
str3 = sc.nextLine();

问题代表用户信息...这只是一个示例代码,但它演示了我的问题,一旦用户按下 q 它就必须退出。有什么想法吗?

提前致谢!

最佳答案

通常是这样完成的

String input = "";
ArrayList<String> list = new ArrayList<String>();
while (!(input = scan.nextLine()).equals("q")) {
// store the input (example - you can store however you want)
list.add(input);
}

但就您的情况而言,您还可以合并一个可以循环浏览的问题列表。

ArrayList<String> questions = new ArrayList<String>();
questions.add("q1");
questions.add("q2");
questions.add("q3");

Scanner scan = new Scanner(System.in);

String input = "";
ArrayList<String> userInput = new ArrayList<String>();
int index = 0;

// print the first question and increment the index
System.out.println(questions.get(index));
index++;

while (!(input = scan.nextLine()).equals("q")) {
// store the input (example - you can store however you want)
userInput.add(input);

// print the next question since the user didn't enter q
// if there are no questions left, stop asking
if (index == questions.size() - 1) {
break;
}
System.out.println(questions.get(index));

// keep track of the index!!
index++;
}

scan.close();

在提问结束时,您可以使用用户输入列表中的值。答案从索引0开始存储,并对应于匹配的问题列表。

顺便说一句,如果您确实想检测用户在按下 Enter 之前何时按下了“q”,您可以在 q 按钮上实现一个 KeyListener...(但是,这会在每次用户按下时停止程序)以 q 开头的有效输入)请参阅 http://docs.oracle.com/javase/7/docs/api/java/awt/event/KeyListener.html了解更多详情

关于java - 如果扫描仪读取特定输入则中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28951646/

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