2016-02-18 100 views
1

我想創建一個溫度轉換器,用戶輸入華氏溫度,並以攝氏度返回。下面的代碼:錯誤轉換不同的數據類型(int和字符串)

import javax.swing.*; 

public class tempconv { 

    public static void main (String[]args) { 
     int fahr, cel; 
     String fahrstring; 

     fahrstring = JOptionPane.showInputDialog(valueof("Enter your temperature in F:")); 
     fahr = new int[fahrstring]; 
     cel = (fahr - 32) * 5/9; 

     JOptionPane.showMessageDialog(null, "The temperature in c is " + cel); 
    } 

} 

我想給成INT輸入對話框轉換但是編譯器阻止我說:

error: cannot find symbol 
fahrstring = JOptionPane.showInputDialog(>valueof("Enter your temperature in F:")); 

所以它必須是一個語法錯誤。據編譯器我也有另外一個錯誤說

tempconv.java:10: error: incompatible types: int[] cannot be converted to int 
        fahr = >new int[fahrstring]; 

如何將正確的代碼編寫,並正是我做錯了什麼?

+0

你認爲'valueof(「輸入你的溫度在F:」)'應該返回?你爲什麼認爲'new int [fahrstring]'呢? –

+0

應該是一個字符串,我剛剛意識到我沒有轉換代碼是有缺陷的,這是從我的老師的基地 –

+0

如果它是從你的老師他們可能希望你調試它。不要使用StackOverflow來爲你做功課,隊友,它是在規則^^; –

回答

1

使用而不是INT溫度可能29.5有時

double fahr = Double.parseDouble(fahrstring); 
double c = ((fahr - 32) * (5/9)); 

希望你的問題就解決了。繼續編碼祝你好運。

0

另一種方式來fahrstring轉換爲int是通過使用功能:

Integer.parseInt(fahrstring) 

(這裏是演示了parseInt函數的教程) http://www.tutorialspoint.com/java/lang/integer_parseint.htm

+1

您可能想[複查](https://docs.oracle.com/javase/8/docs /api/java/lang/Integer.html#parseInt-java.lang.String-);我想你在考慮'valueOf'。 ;) – TNT

+0

我敢肯定,valueOf()的作品,但也應該parseInt()我編輯我的答案,顯示它的教程。 (我假設教程點是一個有信譽的網站) – star2wars3

+0

對不起,這可能不明確。我的評論引用了你的聲明,即'parseInt'返回一個'Integer'。 – TNT

0

關於incompatible types錯誤:

int fahr是一個整數,new int [fahrString]將創建一個數組對象。 fahr=new int [fahrstring]表示您試圖將數組對象分配給int變量。這顯然不起作用。

你能做些什麼呢?

  • 更改int fahrint fahr[]並且兼容性錯誤不會再顯示。
+0

供將來參考,反之亦然? –

+0

舉個例子。這取決於你的要求。 –

相關問題