用户创建了切换选项?

时间:2015-06-08 22:45:02

标签: java switch-statement

是否可以编写用户创建的开关案例选项?例如,如果我有:

 String name = JOptionPane.showInputDialog(null, "Please enter your name."
 switch (name) {
     case "Adam":
         JOptionPane.showMessageDialog(null, "Your name is Adam";
     case "Julie":
         JOptionPane.showMessageDialog(null, "Your name is Julie";

我想编写一个程序,当程序提示用户输入名称时,如果名称不是列出的案例之一,程序将为它创建一个新案例,每个案例的执行代码完全相同。这可能吗?

2 个答案:

答案 0 :(得分:1)

不,但你也不想这样做。世界上有这么多名字!我听说澳大利亚有人试图给他们的孩子命名'蝙蝠侠'。你真的想为这些人更新你的软件吗?

您可以跳过分支switch语句,只需以编程方式嵌入名称数据。

public static final String getHelloString(final String pUserName) {
    return "Hello "+pUserName+"!";
}

答案 1 :(得分:0)

如果您想输出"您的名字是name",那么这很容易实现。

简单地做

String name = JOptionPane.showInputDialog(null, "Please enter your name.");
JOptionPane.showMessageDialog(null, "Your name is " + name);

如果您想保留switch,请按@stvcisco建议(在他的评论中)并提出default案例:

String name = JOptionPane.showInputDialog(null, "Please enter your name.");
switch (name) {
 case "Adam":
     JOptionPane.showMessageDialog(null, "Your name is Adam");
     break;
 case "Julie":
     JOptionPane.showMessageDialog(null, "Your name is Julie");
     break;
 default:
     JOptionPane.showMessageDialog(null, "Your name is " + name);
     break; //This break is technically optional, but always a good idea anyways
}

此选项的好处是,您可以灵活地为您识别的名称提供唯一输出,并为您无法识别的名称提供标准响应。