【发布时间】:2020-03-29 08:16:56
【问题描述】:
下面我有一个数组,我正在检查用户输入,猜测我钱包中的卡类型?如果为真,则退出 while 循环,否则再次询问用户,直到与我的数组中的相同卡类型匹配。我的问题是当用户猜测正确时,我仍然收到“卡类型不正确重试消息”。有没有办法缩短我的代码或更好地纠正它?
public static void main(String[] args) {
String correctGuess = validateGuessedCardType();
System.out.println(correctGuess);
}
private static final String[] cardsTypesInWallet = {
"DBS",
"POSB",
"AMEX",
"Standard Charted"
};
private static String validateGuessedCardType() {
boolean correctGuess = false;
String guessedCard = "";
while (!correctGuess) {
in = new Scanner(System.in);
System.out.println("Guess a card in my wallet");
guessedCard = in.nextLine();
for (int i = 0; i < cardsTypesInWallet.length; i++) {
if (cardsTypesInWallet[i].equals(guessedCard)) {
correctGuess = true;
}
}
System.out.println("Card Type is incorrect");
System.out.println("try again");
}
return guessedCard;
}
【问题讨论】:
-
java 中的while 循环评估块中的所有代码,然后检查条件。如果您想在某些代码之后立即中断循环,请添加
if (!correctGuess) {break;}
标签: java arrays while-loop boolean