2017-10-20 1 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

.. ONCE 스캐너를 읽어? 아무것도 값을 설정하지 마십시오. – AxelH

+0

스캐너를 두 번 읽지 않습니까? 온도에서 한 번 [i] = sc.nextInt(); 다른 하나는 fahrenheit = sc.nextDouble(); –

+0

'//온도 [i] = sc.nextInt();'- 너를 위해 –

답변

2

당신은 당신이 정말로 배열의 값을 유지하려면 그래서 당신은 그 안에 삽입 문 ...

을 제거 할 수 배열 int[] temperatures을 사용하고 있지 않습니다. Double[] temperatures을 사용하고 스캐너를 읽으십시오. 당신은 단지 하나 개의 입력을 원하는 경우

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

은 즉, 단지 당신이 [I]`은`온도가 뭐

+0

진짜 도움을 주셔서 감사합니다 사람 –

관련 문제