gpt4 book ai didi

java - 如果用户输入 'r' 或 'c' 以外的字符,我将如何使此方法循环?

转载 作者:行者123 更新时间:2023-12-02 10:36:25 25 4
gpt4 key购买 nike

假设用户输入“e”,因此它会显示一个错误对话框,但如果是这种情况,我如何将其循环回来?

 public static char readTypeOfConsumer(){
Scanner kbd = new Scanner(System.in);
char typeCode='x';
do {
System.out.println("Enter the type consumer< you may type r for
residential or c for commercial>:");
typeCode = kbd.next().charAt(0);
if (typeCode == 'r' || typeCode == 'R') {
System.out.println("type: Residential");
} else if (typeCode == 'c' || typeCode == 'C') {
System.out.println("type: Commercial");
}
} while (typeCode == 'r' || typeCode == 'R' || typeCode == 'c'|| typeCode == 'C');

return typeCode;
}

不幸的是,这种方法对我来说不起作用

最佳答案

这会起作用:

public static char readTypeOfConsumer() {
Scanner kbd = new Scanner(System.in);
boolean typeCodeInvalid = true;

char typeCode;
do {
typeCodeInvalid = false;
System.out.println(
"Enter the type consumer< you may type r for residential or c for commercial>:");
typeCode = kbd.next().toLowerCase().charAt(0);
if (typeCode == 'r') {
System.out.println("type: Residential");
} else if (typeCode == 'c') {
System.out.println("type: Commercial");
} else {
typeCodeInvalid = true;
}

} while (typeCodeInvalid);

return typeCode;
}
<小时/>

我添加了一个 boolean ,当输入被接受时,它的值为 false ,可能有更好的方法来做到这一点,但我只是要离开您提供的代码。它将继续循环,直到输入 rc

我还添加了 toLowerCase(),因此您不必检查它是 c 还是 C,而只需检查 c .

关于java - 如果用户输入 'r' 或 'c' 以外的字符,我将如何使此方法循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53261449/

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