Почему я получаю номер 320.04, напечатанный на консоли в коде ниже? - PullRequest
1 голос
/ 11 ноября 2019

Я читаю приведенный ниже код много раз и не могу понять, почему я получаю 320.04 на консоли. Может ли кто-нибудь помочь мне разобраться?

package com.heshanshivantha;

public class Main {

    public static void main(String[] args) {

        calcFeetAndInchesToCentimeters(126);
    }

    public static double calcFeetAndInchesToCentimeters(double feet, double inches) {
        if (feet >= 0 && inches >= 0 && inches <= 12) {
            System.out.println(feet * 12 * 2.54 + inches * 2.54);
            double centimeters = feet * 12 * 2.54 + inches * 2.54;
            System.out.println(feet + " feet " + inches + " inches = " + centimeters + " cm");
            return centimeters;
        } return -1;
    }

   public static double calcFeetAndInchesToCentimeters(double inches) {
        if (inches >= 0) {
            int feet =(int) (inches / 12);
            int remainingInches =(int) (inches % 12);
            System.out.println(inches + " inches is equal to " + feet + " feet and " + remainingInches + " inches");
            return calcFeetAndInchesToCentimeters(feet, remainingInches);
        } return -1;
   }

}

126,0 дюймов равно 10 футам и 6 дюймам 320,04 10,0 футов 6,0 дюймов = 320,04 см

Процесс завершен с кодом выхода 0

1 Ответ

0 голосов
/ 11 ноября 2019

Это из-за первой строки после условия if. Удалите System.out.println(feet * 12 * 2.54 + inches * 2.54); и все готово.

...