Java 在if语句之后使用switch语句

Java 在if语句之后使用switch语句,java,if-statement,switch-statement,Java,If Statement,Switch 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, addCh

我想在
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.");

}
}

现在,我想使用
开关
语句告诉用户,如果他/她选择包“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.");
     **/
}
}

你想在哪里使用那个开关?在最底层?你不能添加一个
if(selectPackage=='B')System.out.println(“你节省了20美元”)?是否有错误,或者您希望我们为您编写代码?您的代码也不完整。关闭时有很多代码缺失
}
@dibagram如果没有看到您的所有代码,我就无法真正帮助您,因为缺失的代码太多,我无法看到您的代码在做什么,请提供您的所有代码,我将尝试进一步帮助您。