Мне пока не удалось найти что-то, что связано с этим. Я слышал, что окружающая большинство вашей программы в цикле while, как это делает программу неэффективной, есть ли лучший способ получить тот же эффект?Заменить while (1 == 1) loop в Java
while (1 == 1) {
//User Input
System.out.println("Do you wish to roll? (Y/N)");
if (kb.hasNext()) {
userContinue = kb.next();
}
if (userContinue.equalsIgnoreCase("n")) {
System.exit(0);
}
//Calculations
score = 0;
while (userContinue.equalsIgnoreCase("Y")) {
rollResult = user.rollTwoDie();
score = rollResult + score;
if (score > 21) {
System.out.println("You loose for going over 21.");
System.out.println("Your final score was: " + score);
score = 0;
System.out.println("Play again? (Y/N)");
if (kb.hasNext()) {
userContinue = kb.next();
}
if (userContinue.equalsIgnoreCase("n")) {
System.exit(0);
}
}
else if (score <= 21) {
System.out.println("Your score is: " + score);
System.out.println("Roll again? (Y/N)");
if (kb.hasNext()) {
userContinue = kb.next();
}
}
}
if (userContinue.equalsIgnoreCase("N")) {
while (computerScore <= score && computerScore < max) {
computerResult = computer.rollTwoDie();
computerScore = computerResult + computerScore;
}
userContinue = computer.checkComputerScore(computerScore, score);
}
}
'while (true)' или 'for (;;)'. В этом нет ничего неправильного. –
«Я слышал, что окружающая большая часть вашей программы в цикле while, как это делает программу неэффективной ...» '- пожалуйста, покажите нам ссылку для этого, поскольку я никогда не слышал ничего подобного раньше. Цикл while не имеет ничего общего с эффективностью. –
'while (1 == 1)' очень странно. 'while (true)' намного более нормальный. Помимо этого, если вам нужен бесконечный цикл, тогда это то, что вам нужно. Вы действительно не должны называть 'System.exit', просто используйте' break'. –