【问题标题】:printing the switch case打印开关盒
【发布时间】:2018-03-30 16:01:15
【问题描述】:

我的问题很简单,我要做的是打印用户输入值时设置的 switch case 名称。让我们假设

   switch (name.toLowerCase()) {
            case "john":
                salary = 12;
                break loop;

            case "jack":
            case "jonathen":
                salary = 6;
                break loop;

            default:
                System.out.println("\n\tWrong Name Dude!");
                break;

        }
        System.out.print(name)

我想要做的是当用户输入 john 或 JOHN 或 JoHn 我只想打印 'john' 。这就是案例''的名字。问题是如果我使用分配的字符串来打印它,to.lowercase 将在输入“JoHn”时识别它是“john”,但是在打印时它会打印“JoHn”而不是“john”有什么建议吗?

【问题讨论】:

  • 你的问题不清楚
  • 在打印时使用toLowerCase(),就像在切换时一样?或者不要调用该方法 2 次,只需在执行所有这些操作之前将 name 小写即可。 name = name.toLowerCase()
  • 你用 break loop 打破了什么循环;?

标签: java switch-statement case


【解决方案1】:

像这样更改您的代码:

name = name.toLowerCase();
switch (name) {
        case "john":
            salary = 12;

            break loop;
        case "jack":
        case "jonathen":
            salary = 6;
            break loop;
            default:
            System.out.println("\n\tWrong Name Dude!");
            break;

    }
    System.out.print(name)

原因是name.toLowerCase()只是返回小写的name变量而不会改变名字本身,所以你必须将返回值赋给名字。

【讨论】:

    【解决方案2】:

    尝试简单地打印name.toLowerCase()

    【讨论】:

    • 不敢相信我忘记了这一点,我什至感到羞愧。非常感谢
    【解决方案3】:

    Java 中的String 类是不可变的,这意味着一旦创建了 String 对象,您对其执行的任何操作都不会改变对象的值,而是会返回 一个新的字符串,它是您调用的方法的结果(在本例中为toLowerCase)。

    为了实现你想要的,你只需要将全新字符串的引用存储到另一个变量中。 你可以试试这样的:

    switch (name = name.toLowerCase()) {
            case "john":
                salary = 12;
    
                break loop;
            case "jack":
            case "jonathen":
                salary = 6;
                break loop;
                default:
                System.out.println("\n\tWrong Name Dude!");
                break;
    
        }
        System.out.print(name)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多