2012-04-18 51 views
0

好吧,所以我是編程的完全新手,我剛開始使用Java進行編碼。我試圖編寫一個溫度轉換代碼(攝氏溫度到華氏溫度),由於某種原因,它根本不會運行!請幫助我找出此代碼中的錯誤(但可能很愚蠢)。Java中的溫度轉換代碼不會運行?

下面的代碼:

package tempConvert; 

    import java.util.Scanner; 

    public class StartCode { 

     Scanner in = new Scanner(System. in); 

     public double tempInFarenheit; 

     public double tempInCelcius; 

     { 
      System.out.println("enter the temp in celcius"); 

      tempInCelcius = in .nextDouble(); 

      tempInFarenheit = (9/5) * (tempInCelcius + 32); 

      System.out.println(tempInFarenheit); 
     } 
    } 
+3

1)*「出於某種原因,它根本就不會運行!」*'某些原因'通常由編譯器或JRE明確聲明。將來,請複製/粘貼這些消息的文本。 2)這是[標籤:家庭作業]? 3)請爲代碼塊使用一致的邏輯縮進。 4)你顯然還沒有用'9/5'解決問題;) – 2012-04-18 20:19:28

+0

5)'(9/5)*(tempInCelcius + 32)'我也很確定包圍是錯誤的。 – 2012-04-18 20:25:14

回答

4

你忘了寫這是起點的程序運行的主要方法。讓我修改你的代碼。

import java.util.Scanner; 

public class StartCode 
{ 
    Scanner in = new Scanner (System.in); 
    public double tempInFarenheit; 
    public double tempInCelcius; 

公共靜態無效的主要(字串[] args)

{ 
     System.out.println("enter the temp in celcius"); 

     tempInCelcius = in.nextDouble() ;  
     tempInFarenheit = (9/5)*(tempInCelcius+32); 

     System.out.println(tempInFarenheit); 
    } 
} 
+0

如果這是好,請將它標記爲您的答案:)祝您好運! – test 2012-04-18 20:13:11

+1

看起來像你沒有修改他的邏輯錯誤;) – Chris 2012-04-18 20:21:13

+0

這不是他的問題...... P – test 2012-04-18 20:22:24

0

你需要一個main method。我還建議使用IDE等Eclipse,它可以爲您生成框架代碼(包括主要方法的語法)。

+0

不能編寫主要方法的人不應該從Eclipse開始。那時他們會無知兩件事。 – duffymo 2012-04-18 20:30:09

+0

這是一個觀點,我同意你的觀點。然而,使用記事本和javac可能會讓人不願意過去語法錯誤。我確信這場辯論之前已經在互聯網上進行過爭論。 – Fuhrmanator 2012-04-19 02:21:55

1

我認爲這會爲你更好地工作:

import java.util.Scanner; 

public class StartCode 
{ 
    public static void main(String[] args) { 
     Scanner in = new Scanner (System.in); 
     double tempInFarenheit; 
     double tempInCelcius; 
     System.out.println("enter the temp in celcius"); 
     tempInCelcius = in.nextDouble() ; 
     tempInFarenheit = 1.8*tempInCelcius+32; 
     System.out.println(tempInFarenheit); 
    } 
} 

您方程華氏是不正確的。整數除法也不適合你。

0
import java.util.*; 
public class DegreeToFahrenheit { 


    public static void main(String[] args) 
    { 
     Scanner input = new Scanner(System.in); 

     System.out.println("Enter a temperature: "); 
     double temperature = input.nextDouble(); 
     System.out.println("Enter the letter of the temperature type. Ex: C or c for celsius, F or f for fahrenheit.: "); 

     String tempType = input.next(); 


     String C = tempType; 
     String c = tempType; 

     String F = tempType; 
     String f = tempType; 

     double celsius = temperature; 
     double fahrenheit = temperature; 

     if(tempType.equals(C) || tempType.equals(c)) { 
      celsius = (5*(fahrenheit-32)/9); 
      System.out.print("The fahrenheit degree " + fahrenheit + " is " + celsius + " in celsius."); 


     } 


     else if(tempType.equals(F) || tempType.equals(f)) { 

      fahrenheit = (9*(celsius/5)+32); 
      System.out.print("The celsius degree " + celsius + " is " + fahrenheit + " in fahrenheit."); 
     } 

     else { 
      System.out.print("The temperature type is not recognized."); 
     } 
    } 

}