2016-02-17 31 views
1

我是一個初學者程序員(就像只有一天的舊),我想拿出代碼,將能夠使用公式f-32轉換成攝氏度,然後顯示結果。我遇到了一些麻煩,而不是顯示結果,這是什麼出現。請協助。試圖進行計算

import java.util.Scanner; 
public class Assignments (
    public static void main(String args[]) { 
    Integer Celsius, Faren; 
    Scanner Celsius = new Scanner(System.in); 
    System.out.prinln(" Enter value in Celsius: "); 
    int name = Celsius.nextint(); 
    Faren = Celsius + 32; 
    } 
} 

這裏是我的結果後運行:

+0

請你的代碼添加到這個問題,而不是它的屏幕截圖。 – Manu

+1

主要問題是你試圖使用'Celsius'兩次的名字。 – Manu

+0

歡迎來到StackOverflow。你必須非常小心地讓你的代碼正確,一個小錯誤,編譯器會抱怨。在編譯器發現錯誤的位置缺少'+'。此外,只是減去32是不正確的公式將攝氏轉換爲華氏。玩得開心學習編程! – Jesper

回答

0

你有,我可以看到兩個主要問題。首先,正如評論中提到的@Manu,你試圖使用變量名Celcius兩次。這是不允許的,每個變量應該有一個唯一的名字。嘗試將掃描儀重命名爲celciusScanner或類似的東西。其次,你有一個print語句(X celcius是Y farenheit),它的格式不正確。你需要在變量Faren和下面的字符串之間加上一個加號。然而,我沒有看到你的代碼中的這一行,我想你一定已經刪除了這個。

也有一些一般性評論。您的變量名稱應始終以小寫字母開頭。以大寫字母開頭的名稱通常保留給類。堅持這樣的約定可以更容易地閱讀你的代碼。我也會研究int和Integer之間的區別。它看起來像你有兩個變量定義爲Integer,但似乎int將完成這項工作。

總的來說,不是一個糟糕的嘗試,這些問題在初學者中很常見。

1

您的代碼使用變量Celsius作爲兩種不同類型。它不能一次成爲ScannerInteger

嘗試這樣:

Scanner scanCelsius = new Scanner(System.in); 
System.out.prinln(" Enter value in Celsius: "); 
int c = scanCelsius.nextint(); 
int f = c + 32; 

順便說一句,皈依到華氏是錯誤的。正確的計算公式爲:

Fahrenheit = Celsius * 1.8 + 32 

因此,你必須使用浮動

float f = (float)c * 1.8 + 32;