我正在尝试使用switch语句来计算患者欠其保险的金额,但由于某种原因,它总是向他们收取45美元的默认价格。如果他们没有使用这三个选项中的任何一个,其价格为45美元,但是即使我说我使用的是美国保险或Mountain Health,它的价格也为45美元。知道为什么它不起作用吗?

另外,是否有一种方法可以忽略用户是否使用大写字母,因此如果他们键入“ US INSURANCE”,“ us insurance”或“ US Insurance”,他们将得到相同的结果?

    int charge;
    Scanner kb = new Scanner(System.in);


    System.out.print("What is the name of your insurance? ");
    Insurance = kb.nextLine();

    switch (Insurance) {

        case "Mountain Health":
            charge= 30;
            break;

        case "US Insurance":
            charge= 40;
            break;

        case "Blue Insurance":
            charge= 45;
            break;

        default:
            price = 45;
    }
    System.out.println("Your charge is " + charge + "$.");

最佳答案

将完整大小写与compare字符串匹配

10-06 15:59