簡體   English   中英

在if語句之后使用switch語句

[英]Use switch statement after if statement

我想在if語句之后使用switch語句,但不能,而且我不知道問題出在哪里。

public class main {

    public static void main (String[] args) {

        String input; //To hold user's input.
        char selectPackage; //To hold Internet Package
        double hourUsage, totalCharges, addCharges; //other variables

        //Create a Scanner object for keyboard input.
        Scanner keyboard = new Scanner(System.in);

        //Prompt the user to select a Internet Package.
        System.out.print("Which package did you purchase? ( Enter the Package's letter)");
        input = keyboard.nextLine();
        selectPackage = input.charAt(0);

        System.out.print("Please select the amount of hours used.");
        input = keyboard.nextLine();
        hourUsage = Double.parseDouble(input);

        //Display pricing for selected package...
        switch (selectPackage)
        {
            case 'a':
            case 'A':
                if (hourUsage > 10)
                {
                    addCharges = hourUsage - 10;
                    totalCharges = (addCharges * 2.0) + 9.95;
                    System.out.println("You have used " + hourUsage + " hours and your total is $" + 
                    totalCharges + " per month. ");
                }
                else
                    System.out.println("Your total is $9.95 per month.");
                break;

            case 'b':
            case 'B':
                if (hourUsage > 20 )
                { 
                    addCharges = hourUsage - 20;
                    totalCharges = (addCharges * 1.0) + 13.95;
                    System.out.println("You have used " + hourUsage + " and your total is $" + totalCharges + " per month.");
                }    
                else
                    System.out.println("Your total is $13.95 per month.");
                break;

            case 'c':
            case 'C':
                System.out.println("Your total is $19.95 per month.");
                break;

            default:
                System.out.println("Invalid Choice. Choice A,B,C");
        }
    }
}

System.out.println("Your total is $19.95 per month.");

}
else
     System.out.println("Your total is $19.95 per month.");

}
}

現在,我想使用switch語句告訴用戶,如果他/她選擇了軟件包“ B”,他將節省20美元。

我有你的代碼一看,已進行了修改和改進了很多 ,我發現的主要問題是你的使用}在錯誤的地方。 我相信這是因為您沒有很好地組織代碼; 以后考慮組織代碼以更容易發現錯誤,下面我更正了您的代碼,並在最后幾行中添加了注釋,因為我不確定您為什么將它們放在那里,如果對此有任何疑問,問我吧:

public class Test {
public static void main(String[] args) {
    char selectPackage; //To hold Internet Package
    double hourUsage, totalCharges, addCharges; //other variables
    //Create a Scanner object for keyboard input.
    Scanner keyboard = new Scanner(System.in);
    //Prompt the user to select a Internet Package.
    System.out.print("Which package did you purchase? ( Enter the Package's letter)");
    char input = keyboard.next().charAt(0);
    selectPackage = Character.toUpperCase(input);
    System.out.print("Please select the amount of hours used.");
    hourUsage = keyboard.nextDouble();
    //Display pricing for selected package...
    switch (selectPackage) {
        case 'A':
            if (hourUsage > 10) {
                addCharges = hourUsage - 10;
                totalCharges = (addCharges * 2.0) + 9.95;
                System.out.println("You have used " + hourUsage + " hours and your total is $" + totalCharges + " per month. "); 
            }
            else {
                System.out.println("Your total is $9.95 per month.");
            }
        break;
        case 'B':
            if (hourUsage > 20 ) { 
                addCharges = hourUsage - 20;
                totalCharges = (addCharges * 1.0) + 13.95;
                System.out.println("You have used " + hourUsage + " and your total is $" + totalCharges + " per month.");
            }
            else{ 
                System.out.println("Your total is $13.95 per month.");
            } 
        break;
        case 'C':
            System.out.println("Your total is $19.95 per month.");
        break;
        default:
            System.out.println("Invalid Choice. Choice A,B,C");
    }
    /**System.out.println("Your total is $19.95 per month.");
     System.out.println("Your total is $19.95 per month.");
     **/
}
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM