String (初学者)如何使用带字符串的switch语句?

String (初学者)如何使用带字符串的switch语句?,string,switch-statement,case,bank,String,Switch Statement,Case,Bank,我正在尝试制作一个简单的银行账户程序来学习课程和OOP。正如你可能猜到的,我对Java是新手 无论如何,我的switch语句不起作用。我试图根据输入的字符串制作每个案例 Scanner input = new Scanner(System.in); System.out.println("Enter your name"); //the user enters "user1", "user2", or "user3". String user = input.next(); //swtich t

我正在尝试制作一个简单的银行账户程序来学习课程和OOP。正如你可能猜到的,我对Java是新手

无论如何,我的switch语句不起作用。我试图根据输入的字符串制作每个案例

Scanner input = new Scanner(System.in);
System.out.println("Enter your name");
//the user enters "user1", "user2", or "user3".
String user = input.next();
//swtich time 
switch (user) {
    case "user1":
        System.out.println("Your balance is" + user1.balance);
        System.out.println("Your Account numer is" + user1.acctnum);
        //shows the balance and account number for user1
    case "user2":
        System.out.println("Your balance is" + user2.balance);
        System.out.println("Your Account numer is" + user2.acctnum);
    case "user3":
        System.out.println("Your balance is" + user3.balance);
        System.out.println("Your Account numer is" + user3.acctnum);
}
你在每一个案例的结尾都遗漏了一个中断声明

case "user1":
    System.out.println("Your balance is" + user1.balance);
    System.out.println("Your Account numer is" + user1.acctnum);
    //shows the balance and account number for user1
    break;
如果没有break语句,所有这些语句都将被执行

每个案例的结尾都缺少一个break语句

case "user1":
    System.out.println("Your balance is" + user1.balance);
    System.out.println("Your Account numer is" + user1.acctnum);
    //shows the balance and account number for user1
    break;
如果没有break语句,所有这些语句都将被执行


如果您使用的是
Java7
或更高版本,您可以在
switch
语句中使用
Strings
,否则您不能如果您使用的是
Java7
或更高版本,您可以在
switch
语句中使用
Strings
,否则您不能丢失
中断语句,因此将执行选定的
案例
之后的所有语句

下面是一个
开关箱的示例
[1]

public class SwitchDemo {
  public static void main(String[] args) {

    int month = 8;
    String monthString;
    switch (month) {
        case 1:  monthString = "January";
                 break;
        case 2:  monthString = "February";
                 break;
        case 3:  monthString = "March";
                 break;
        case 4:  monthString = "April";
                 break;
        case 5:  monthString = "May";
                 break;
        case 6:  monthString = "June";
                 break;
        case 7:  monthString = "July";
                 break;
        case 8:  monthString = "August";
                 break;
        case 9:  monthString = "September";
                 break;
        case 10: monthString = "October";
                 break;
        case 11: monthString = "November";
                 break;
        case 12: monthString = "December";
                 break;
        default: monthString = "Invalid month";
                 break;
    }
    System.out.println(monthString);
  }
}

[1]您缺少
中断语句,因此将执行选定的
案例
之后的所有语句

下面是一个
开关箱的示例
[1]

public class SwitchDemo {
  public static void main(String[] args) {

    int month = 8;
    String monthString;
    switch (month) {
        case 1:  monthString = "January";
                 break;
        case 2:  monthString = "February";
                 break;
        case 3:  monthString = "March";
                 break;
        case 4:  monthString = "April";
                 break;
        case 5:  monthString = "May";
                 break;
        case 6:  monthString = "June";
                 break;
        case 7:  monthString = "July";
                 break;
        case 8:  monthString = "August";
                 break;
        case 9:  monthString = "September";
                 break;
        case 10: monthString = "October";
                 break;
        case 11: monthString = "November";
                 break;
        case 12: monthString = "December";
                 break;
        default: monthString = "Invalid month";
                 break;
    }
    System.out.println(monthString);
  }
}

[1]您可以枚举字符串,然后使用开关

附言:请搜索一下,然后在这里发布问题;)你的问题与此类似(例如,有很多答案)


您可以枚举字符串,然后使用开关

附言:请搜索一下,然后在这里发布问题;)你的问题与此类似(例如,有很多答案)


我搜索并看到了这一点,但不知何故,我没有注意到break语句!很抱歉我搜索并看到了,但不知何故我没有注意到break语句!很抱歉