【发布时间】:2013-05-09 03:53:57
【问题描述】:
对不起,如果这是一个愚蠢的问题,但我对此完全陌生,只是尝试一下。 我的代码卡住了....此后,无论选择 1 还是 2,程序都会结束。我知道我缺少一些简单的东西....任何输入表示赞赏。我已经复制并粘贴了我认为问题所在的部分。
System.out.println("Is this information correct? Enter 1 if it is correct, and 2 to change");
Scanner inputCorrect = new Scanner(System.in);
int pick = inputCorrect.nextInt();
boolean isCorrect = false;
while (isCorrect = false){
while (!(pick == 1) && (!(pick ==2)))
System.out.println("That is not a valid entry please try again");
if (pick == 1){
isCorrect = true;
}
if (pick == 2){
System.out.println("Enter 1 to change your name, 2 to change your age or 3 to change your gender");
Scanner inputChange = new Scanner(System.in);
int change = inputChange.nextInt();
if (change ==1){
Scanner inputNewName = new Scanner(System.in);
System.out.println("Enter the correct name: ");
String correctedName = inputNewName.next();
you.setName(correctedName);
System.out.println(you);
isCorrect = true;
}
if (change ==2) {
Scanner inputNewAge = new Scanner(System.in);
System.out.println("Enter the correct age: ");
int correctedAge = inputNewAge.nextInt();
you.setAge(correctedAge);
System.out.println(you);
isCorrect = true;
}
if (change == 3) {
Scanner inputNewGender = new Scanner (System.in);
System.out.println("Enter the correct gender: ");
char correctedGender = inputNewGender.next().charAt(0);
you.setGender(correctedGender);
System.out.println(you);
isCorrect = true;
}
}
}
【问题讨论】:
-
Noob 最好在提出关于 SO 的问题之前先做一些研究
-
有些人使用yoda conditions 来避免这个问题。
while(false == isCorrect) -
2 票?真的吗?这样的问题随处可见。
-
哈!尤达条件。太棒了,以前从未听说过它。
-
我想知道如果
x = ..是条件句中的受限产生式,那么这些错误中有多少永远不会存在 - 要么使其成为一个声明并完全避免这种产生式,要么要求将其表示为 @ 987654325@ 或类似号码。我想这就是 代码/样式检查器 的用途。我想对于字符串/对象相等性测试也可以这样说.. uhg.
标签: java boolean conditional