2012-11-06 89 views
-3

我只是在學習Java的樂趣,發現這個論壇非常有用的一些時間! :)我的程序不會做我想做的事

現在,我有一個問題,我不能得到一個應用程序來做我想做的事情.. 我只是想讓它運行「選擇」,然後從我的輸入選擇我希望它運行例如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

[This](http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java)可能會讓你感興趣。 – Pshemo

回答

3

而不是使用==在比較字符串時使用.equals()

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

(或)

轉換輸入整數和做==

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

==查找引用相等。 equals()尋找對象相等。

+0

啊哈! :)不知道==沒有使用字符串!謝謝! :) 第一個建議是我認爲最好的,另一個看起來像是一個無用的解決方法。 –

相關問題