Intenté obtener el valor de pies a partir de la conversión de metros a pies, pero permanece en cero (java)

CorePress2024-01-16  9

Hola, soy estudiante, tengo un problema con mi código (Java), sé que es muy simple para los demás, pero todavía estoy aprendiendo este idioma, no sé cómo puedo obtener el valor de pies en mi código. utilizar el método de sobrecarga ¿alguien puede ayudarme con esto? Ya pasé mi fecha límite pero todavía estoy descubriendo cómo convertir metros a pies. (aquí está el código)

import java.util.Scanner;

public class prog10
{ 
    public static void main(String[] args) {
        int height;

        Scanner in = new Scanner(System.in);

        System.out.printf("\n");
        System.out.printf("What is your height?: ");
        height = in.nextInt();

        Conversion convert = new Conversion();
        convert.testConversion(height);
    }
}

class Conversion{
    public void testConversion(int height){
        double meter = 0;
        System.out.println("\n");
        System.out.printf("the height of a user is: %d cm\n\n", height(height));
        MeterConversion(height);
        FeetConversion(meter);

    }
    public int height(int height){
        System.out.printf("called Height with int argument: %d\n", height);
        return height;
    }
    public double meter(double meter){
        System.out.printf("called Meter with double argument: %.1f\n", meter);
        return meter;
    }
    public double ft(double ft){
        System.out.println("\n");
        System.out.printf("called Feet with double argument: %.1f\n", ft);
        return ft;
    }
    public void MeterConversion(double height){
        double meter = height * 0.01;
        System.out.printf("The height of a user in meter is: %.1f m\n", meter(meter));
    }
    public void FeetConversion(double meter){
        double ft = meter * 3.281;
        System.out.printf("The height of a user in feet is: %.1f ft\n",ft(ft));
    }
}

y aquí está el resultado:

C:\Users\Jadee>java prog10

¿Cuál es tu altura?: 170

llamado Altura con argumento int: 170 la altura de un usuario es: 170 cm

llamado Metro con doble argumento: 1.7 La altura de un usuario en metros es: 1,7 m

llamado Pies con doble argumento: 0.0 La altura de un usuario en pies es: 0,0 pies

¡¡¡Gracias por la ayuda de antemano!!!.

el medidor es 0, nunca lo cambiaste en testConversion

- Guardia negra

19/03/2021 a las 15:53

¿Qué debo poner? ¿Debo poner el valor del metro en voidMeterConversion?

-Jadee Buenaflor

19/03/2021 a las 16:04

¿Cómo estás tomando datos para la altura?

- Guardia negra

19/03/2021 a las 16:17

Estoy tratando de obtener la altura en cm a metros a pies.

-Jadee Buenaflor

19/03/2021 a las 16:21



------------------------------------

import java.util.Scanner;

public class prog10
{
    public static void main(String[] args) {
        int height;

        Scanner in = new Scanner(System.in);

        System.out.printf("\n");
        System.out.printf("What is your height?: ");
        height = in.nextInt();

        Conversion convert = new Conversion();
        convert.testConversion(height);
    }
}

class Conversion{
    double meter = 0;
    public void testConversion(int height){
        System.out.println("\n");
        System.out.printf("the height of a user is: %d cm\n\n", height(height));
        MeterConversion(height);
        FeetConversion(meter);

    }
    public int height(int height){
        System.out.printf("called Height with int argument: %d\n", height);
        return height;
    }
    public double meter(double meter){
        System.out.printf("called Meter with double argument: %.1f\n", meter);
        return meter;
    }
    public double ft(double ft){
        System.out.println("\n");
        System.out.printf("called Feet with double argument: %.1f\n", ft);
        return ft;
    }
    public void MeterConversion(double height){
        meter = height * 0.01;
        System.out.printf("The height of a user in meter is: %.1f m\n", meter(meter));
    }
    public void FeetConversion(double meter){
        double ft = meter * 3.281;
        System.out.printf("The height of a user in feet is: %.1f ft\n",ft(ft));
    }
}

4

La altura no es un valor fijo, ¿qué debo poner si cambio el cero?

-Jadee Buenaflor

19/03/2021 a las 16:00

@JadeeBuenaflor, ¿obtuviste el resultado?

- Justin

19/03/2021 a las 16:24

la conversión de pies sigue teniendo valor cero

-Jadee Buenaflor

19/03/2021 a las 16:29

¡Guau! ¡GRACIAS! ¡GRACIAS! así que sólo necesito quitar el doble metro en testconversion para obtener el valor de pies de conversión, ¡MUCHAS GRACIAS! ahora puedo pasarle esto a mi profesor aunque ya pasó la fecha límite.

-Jadee Buenaflor

19/03/2021 a las 16:44



------------------------------------

¿Su entrada siempre se espera en cm?

¿Espera que se llame a FeetConversion con un valor en metros?

Si es así, entonces necesitas MeterConversion para devolver el valor en metros como un doble

public double MeterConversion(double height){...}

Luego llame a la conversión de Pies con el valor devuelto como:

double heightInMeters = MeterConversion(height);
FeetConversion(heightInMeters)

Como por ejemplo:

public void testConversion(int height){
       // not needed double meter = 0;
        System.out.println("\n");
        System.out.printf("the height of a user is: %d cm\n\n", height(height));
        
         
        // you need to capture the height in meters so add a return from MeterConversion
        // your existing MeterConversion does not alter the value of height, it stays in cms
        double heightInMeters = MeterConversion(height);
        FeetConversion(heightInMeters);
    }

Su guía para un futuro mejor - libreflare
Su guía para un futuro mejor - libreflare