Java将switch语句转换为另一种类型

时间:2016-10-26 00:36:18

标签: java switch-statement

我是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;
        }

    }
}

2 个答案:

答案 0 :(得分:2)

对于初学者级别,您可以使用if-else if语句替换switch语句,就像您之前在代码中所做的那样。您可以尝试以下内容:

if (choice1 == 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);

}
else if (choice1 == 5){

       successRate_Easy = nbGamesEasy_Finished - 1 / nbGames_Easy * 100;

}
else {

       //default

}

答案 1 :(得分:1)

对于switch语句

{{1}}
相关问题