2016-04-15 5 views
0

Когда введены значения 10, 20, 30, 40, 50 и 60, они не спрятаны от Цельсия до Фаренгейта правильно. Они дают результат: 42,0 52,0 62,0 72,0 82,0 92,0Java: преобразователь температуры не работает

10 градусов Цельсия должно составлять 50, а не 40 градусов Фаренгейта.

public static void main(String[] args) { 
     double temperatureArray [] = new double [6]; 
     double fahrenheitArray [] = new double [6]; 

     for (int i=0; i<temperatureArray.length; i++) { 
      temperatureArray[i] = Double.parseDouble(JOptionPane.showInputDialog("Please Enter The Temperature")); 
      fahrenheitArray [i] = temperatureArray[i]; 
     } 

     temperatureConvert(fahrenheitArray); 

     for (int i=0; i<fahrenheitArray.length; i++) { 
      System.out.print(fahrenheitArray [i] +" "); 
     } 

    } 

    public static void temperatureConvert(double fahrenheitArray[]) { 
     for (int i=0; i<fahrenheitArray.length; i++) { 
      fahrenheitArray[i] = (9/5) * fahrenheitArray[i] + 32; 
     } 
    } 

} 
+4

change '' (9/5) '' to '' (9./5.) '' – f1sh

+0

Jist-идея, возможно, она принимает 9 и 5 как ints, и поэтому это деление производится как int. Попробуйте изменить (9/5) на (9.0/5) – dquijada

+0

Вы правы: 9 и 5 - 'int'. '(9/5)' равно 1. –

ответ

1

9/5 дает целое число, которое равно 1. Вы должны сделать 9/5.0, чтобы получить правильные значения.

Смежные вопросы