2015-02-10 55 views
0

我需要創建一個程序,它將輸出格式化的兩列列表,將攝氏溫度轉換成華氏溫度,結束時溫度與用戶輸入的起始溫度相差40度。它應該是這樣的:(除了它無論從任何用戶輸入攝氏計數)攝氏度到華氏循環用戶輸入

Conversion Chart

我在這已經工作了幾個小時,我不知道如何解決它。不僅攝氏度從1開始(我認爲這是(cel = 1;)位),但我不知道爲什麼華氏不能正確計算。

這裏是我的電流源:

import java.util.Scanner; 

public class TempTable { 
    public static void main(String[] args) { 
     Scanner kb = new Scanner(System.in); 
     float cel; 
     double column; 
     double Fahrenheit; 
     final double C_2_F = (9.0/5.0); 
     System.out.println("Enter your city's temperature in Celsius."); 
     cel = kb.nextFloat(); 
     System.out.println("Here is the conversion from " + cel); 
     System.out.printf("%2s%12s%n", "Celcius", "Fahrenheit"); 
     for (cel = 1; cel <= 10; cel++) { 
      column = cel; 
      for (Fahrenheit = 1; Fahrenheit <= 10; Fahrenheit++) { 
       Fahrenheit = cel * C_2_F + 32; 
       System.out.printf("%2.0f%12.0f%n", cel, Fahrenheit); 
      } 
     } 
     kb.close(); 
    } 
} 
+0

當我格式化您的代碼時,我修復了一個語法錯誤,並通過添加kb.close()方法。 – 2015-02-10 23:10:10

回答

0

修復您的循環不復位「飛輪海」每次通過。

for (Fahrenheit = 1; Fahrenheit <=10; Fahrenheit++) { 
    Fahrenheit = cel * C_2_F + 32; 
    System.out.printf("%2.0f%12.0f%n",cel,Fahrenheit); 
} 

for (Fahrenheit = 1; Fahrenheit <=10; Fahrenheit++) { 
    double f = cel * C_2_F + 32; 
    System.out.printf("%2.0f%12.0f%n",cel,f); 
} 

將是一種方式。也將'華氏'重命名爲'華氏'

其實,這只是一個問題。因爲'cel'和'C_2_F'在循環過程中不會改變,所以這隻會打印出相同的值10次...

+0

你知道我將如何根據用戶輸入獲取值嗎?至於公式,我應該以另一種方式建立轉換嗎? – Nala 2015-02-10 23:14:04

+0

對不起,不會做你的功課,但你從用戶那裏讀'cel',然後用'for(cel = 1; cel <= 10; cel ++)'完全忽略它' – John3136 2015-02-10 23:30:04

+0

我不是要求你做我的作業,我正在尋求幫助,因爲我一直在試圖找出這個問題6個小時,而我正在努力完成。我無法把頭圍住它。 – Nala 2015-02-10 23:50:52