public static void main(String[] args){
String buf;
buf = JOptionPane.showInputDialog("1, 2 or 3");
if (buf == 1) {
Begin2();}//if a
if (buf == 2) {
Main.Begin6();}//if b
if (buf == 3) {
Main.Begin7();}//if b
}
我有这段代码,但如果无法调用任何Begin方法......
答案 0 :(得分:2)
要转换为整数,请使用Integer.valueOf(String)
:
if (Integer.valueOf(buf) == 1) {
更好的选择是使用JOptionPane
中的方法,该方法要求输入给定的选择。这样你就可以强制用户输入1,2或3,同时不需要转换为整数。
Integer result = (Integer) JOptionPane.showInputDialog(null, "1, 2 or 3", "title", JOptionPane.QUESTION_MESSAGE, null, new Integer[]{1,2,3}, 1);
if (result == 1) {
...
} else if (result == 2) {
...
} else if (result == 3) {
...
}
答案 1 :(得分:1)
Integer.parseInt(buf)
(最佳方式)"3".equals(buf)
(丑陋)。switch
(如果您使用的是Java 7> =)或if
使用equals方法有人说您可以将其保留为字符串并使用equals
或switch
。是的有效,将其转换为int
可能的事实有点过分,如果输入错误,它将避免您可能的异常
答案 2 :(得分:1)
int value = Integer.parseInt(buff);
if(value == 1){...}
else if(value == 2){...}
else if(value == 3){...}
答案 3 :(得分:0)
执行此任务的不同方法:
Integer.parseInt("3")
//这将返回一个整数值
或者您可以使用类String的.equals()
答案 4 :(得分:0)
无论
if("1".equals(buf)) {
Begin2();
} else if ("2".equals(buf)) {
Main.Begin6();
} else if ("3".equals(buf)) {
Main.Begin7();
}
或
switch(buf) {
case "1": Begin2(); break;
case "2": Main.Begin6(); break;
case "3": Main.Begin7(); break;
default: break;
}
可以胜任。