Я очень новичок в Java. Сейчас я беру свой первый Java-класс.Оператор преобразования Java преобразования в другой тип
Я пытаюсь найти способ переписать следующий код, используя что-то другое, кроме инструкции переключения. Этот код связан с игрой в судоку. Мне нужно задать вопрос пару раз, после чего мне нужно рассчитать статистику, основанную на ответах.
Обратите внимание, что я участвую в классе начинающих и не могу использовать расширенные Java-коды.
String response = "Y";
while (response.toLowerCase().equals("y"))
{
System.out.println("Please choose the game level");
System.out.println(" -----------------------------------");
System.out.println(" Enter 1 for Sudoku level Beginner");
System.out.println(" Enter 2 for Sudoku level Advanced");
System.out.println(" Enter 3 for Sudoku level Expert");
System.out.println(" -----------------------------------");
Sudoku = sudoku.nextInt();
if (Sudoku == 1) {
int choice1 = 0;
nbGames_Easy++;
System.out.println("Have you won the game ?");
System.out.print(" Enter 4 for yes ");
System.out.print(" Enter 5 for no ");
choice1 = sudoku.nextInt();
sudoku.nextLine();
switch (choice1)
{
case 4:
nbGamesEasy_Finished++;
successRate_Easy = nbGamesEasy_Finished/nbGames_Easy * 100;
System.out.println("How many time did you take to fill the grid ?");
System.out.println("The time must be in minutes");
String display5 = sudoku.nextLine();
resolutionTime_easy = (nbGamesEasy_Finished * resolutionTime_easy) + Integer.parseInt(display5)/(nbGamesEasy_Finished);
break;
case 5:
successRate_Easy = nbGamesEasy_Finished - 1/nbGames_Easy * 100;
default:
break;
}
}
}
Это один из тех редких случаев, когда переключатель не ужасная идея. Единственный другой вариант - использовать дерево if ... else, которое * может быть более аккуратным. – Carcigenicate
, то снова используйте оператор if else для коммутатора, как то, что вы сделали, если (Sudoku == 1) – jace