2017-10-20 30 views
0

,嘗試輸入數字時,它會發出兩次?所以我鍵入(x)號碼,它會減少空格,並要求另一個號碼?即使我只輸入一個?掃描儀需要輸入兩次,當時只有不過我遇到一個問題,想一次

(見輸出代碼更好地理解)

這裏是我的代碼:

import java.util.Scanner; 

public class FahrenToCelcius { 
    private static Scanner sc; 

    public static void main(String[] args) { 
     double celsius, fahrenheit; 
     System.out.println("Enter your temperatures"); 
     sc = new Scanner(System.in); 
     int[] temperatures = new int[5]; 
     for(int i = 0; i < 5; ++i) { 
      temperatures[i] = sc.nextInt(); 

      fahrenheit = sc.nextDouble(); 
      celsius =(fahrenheit-32)*(0.5556); 
      System.out.println("Temperature in Celsius:"+celsius); 

     }  
    } 
} 

輸出:

Enter your temperatures 
100 
100 
Temperature in Celsius:37.7808 
100 
100 
Temperature in Celsius:37.7808 
100 
100 
Temperature in Celsius:37.7808 

我只希望用戶也有輸入一次。幫幫我?

+1

什麼是你用'溫度[I]'做什麼?你爲無價值設置了這個值。 – AxelH

+0

你不讀取掃描儀兩次?一次在溫度[i] = sc.nextInt();和另一個在華氏= sc.nextDouble();? –

+0

''''''溫度[i] = sc.nextInt();' - 固定爲你 –

回答

2

您沒有使用數組int[] temperatures所以你可以刪除它插入語句...

如果你真的想保持值在數組中。只需使用一個Double[] temperatures然後閱讀您的掃描儀。

... 
fahrenheit = sc.nextDouble(); 
temperatures[i] = fahrenheit; 
... 

總之,只有當你只需要一個輸入讀取掃描儀ONCE ..

+0

感謝你的幫助的人真正欣賞它 –