gpt4 book ai didi

Java - if/else 在应该暂停时立即失败

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:10:17 25 4
gpt4 key购买 nike

我在使用 Java 函数时遇到问题。这是我的代码:

    do{
System.out.print("Proceed to payment? (y/n) ");
input = scan.nextLine();
if((input.trim()).equals("y")){
break;
}
else if((input.trim()).equals("n")){
System.out.print("Come back next time, " + name + ".");
System.exit(0);
}
else{
System.out.println("Invalid response. Try again.");
}
}
while(true);

基本上,函数第一次循环时会“跳过”“input = scan.nextLine”并立即打印“无效响应。再试一次。”到终端。然后它允许用户输入一些东西,然后正常工作。

是的,我已经在我的代码前面声明了输入、扫描 (java.util.Scanner;) 和名称。如果有人能指出我做错了什么,那将是一个很大的帮助!谢谢!

最佳答案

虽然在之前添加 scan.nextLine() 确实有帮助,但每当我使用以下方法初始化 Scanner 类时,我都会保留设置定界符的一般规则:

scan.useDelimiter("\n");

在这种情况下,它使用换行符作为分隔符。结果,对于所有扫描方法,每当用户按下 Enter 时,它都被解释为输入结束。这包括 nextInt()nextDouble()next() 等...

使用分隔符还意味着我不必在每个非 nextLine() 输入后添加 scan.nextLine()

关于Java - if/else 在应该暂停时立即失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29878993/

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