-3

我只是为了好玩而学习Java,发现这个论坛有时非常有用!:)

现在,我遇到了一个问题,我无法让应用程序执行我希望它执行的操作.. 我只想让它运行 "choice" ,然后从我的输入选择中我希望它运行例如 ovning3 (即 "转换器”),但它只是在我输入我的选择“3”后退出..

我做错什么了吗?这是我第一个有几个“实例”的应用程序。我的逻辑错了吗?

import static javax.swing.JOptionPane.*;

public class Ovningar {


    public static void main(String[] args) {
        choice();
    }


    public static void choice(){
        String input = showInputDialog("Välj övning");
        if (input == "3")
            converter();
        if (input == "4")
            sfer();
    }

    public static void sfer() {


    }
    public static void converter() {

        String input[] = showInputDialog("Mile/Gallons?").split("/");       
        String strmiles = input[0];
        String strgallon = input[1];

        double miles = Double.parseDouble(strmiles);
        double gallon = Double.parseDouble(strgallon);

        double km = miles*1.609;
        double liter = gallon*3.785;


        showMessageDialog(null, km+"/"+liter);



    }
}
4

1 回答 1

3

而不是在比较字符串时使用==use 。.equals()

if (input.equals( "3"))
        converter();
    if (input .eqauls( "4"))
        sfer();

(或者)

将输入转换为整数并执行==

    if( Integer.valueOf(input) == 3)
      {
     ......
      }

==寻找参考平等。equals()寻找对象相等性。

于 2012-11-06T18:45:32.943 回答