gpt4 book ai didi

java - 我不知道输入是否为空要打印

转载 作者:行者123 更新时间:2023-12-02 09:04:17 24 4
gpt4 key购买 nike

所以我编写了一个程序,它从数组中循环 2 个问题。我在这里想要发生的是提示用户是否输入空白或空,以及用户是否输入除 a、b 和 c 之外的任何其他字母、数字或符号。这里发生的事情是,每当我在第一个问题上输入 a 时,它也会打印“答案不能为空”,因为我输入了有效的输入,所以它不应该打印。

for(int i = 0; i < question.length; i++){
do{
System.out.print(question[i].prompt + "\nAnswer: ");
answer = s.nextLine();
if(!answer.equalsIgnoreCase("a") &&
!answer.equalsIgnoreCase("b") &&
!answer.equalsIgnoreCase("c")){
System.out.println("Invalid input!\n");
} if(!answer.isEmpty()){
System.out.println("The answer can't be blank.\n");
}
} while(!answer.equalsIgnoreCase("a") &&
!answer.equalsIgnoreCase("b") &&
!answer.equalsIgnoreCase("c") &&
!answer.isEmpty());
if(answer.equalsIgnoreCase(question[i].answer)){
score++;
}
}

最佳答案

你的代码应该是这样的......

for(int i = 0; i < question.length; i++){
do{
System.out.print(question[i].prompt + "\nAnswer: ");
answer = s.nextLine();
if(answer.isEmpty()){
System.out.println("The answer can't be blank.\n");
}else if(!answer.equalsIgnoreCase("a") &&
!answer.equalsIgnoreCase("b") &&
!answer.equalsIgnoreCase("c")){
System.out.println("Invalid input!\n");
}
} while(!answer.equalsIgnoreCase("a") &&
!answer.equalsIgnoreCase("b") &&
!answer.equalsIgnoreCase("c") &&
!answer.isEmpty());
if(answer.equalsIgnoreCase(question[i].answer)){
score++;
}
}

我在代码中所做的更改:删除了多个 if,改为使用 if-else,并删除了 !来自!answer.isEmpty() 。希望这会对您有所帮助:-)

快乐编码

关于java - 我不知道输入是否为空要打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59945148/

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