Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Problema programma IMC

  1. #1

    Problema programma IMC

    Ciao a tutti.
    Premetto che sono un novellino in java (e, in generale, nei linguaggi OOP).

    Ho fatto questo programma con 2 classi che calcola l'indice di massa corporea, acquisendo dall'utente peso e altezza.
    L'IDE però mi segnala l'errore "Method cannot be applied to given types", e non so come risolvere

    Qualcuno può aiutarmi?
    Questa è la prima classe:
    codice:
    public class DatiImc{
        private int imc, peso;
        private double altezza;
        
        public int getImc()
        {
            return imc;
        }
        
        public int setImc(int imc)
        {
                    imc = (int) ((int)peso/altezza);
                    return imc;
        }
        
        public double getAltezza()
        {
            return altezza;
        }
        
        public double setAltezza(double alt)
        {
                    alt = altezza;
                    altezza = altezza*altezza;
                    return altezza;
        }
        
        public int getPeso()
        {
                    return peso;
        }
        
        public int setPeso(int pes)
        {
                    pes = peso;
                    return peso;
        }
    }
    Questa è la seconda classe:
    codice:
    import java.util.Scanner;
    
    public class CalcolaImc
    {
        public static void main (String [] args)
        {
                    int pes, alt;
            Scanner input = new Scanner (System.in);
            DatiImc calcola = new DatiImc();
            System.out.println("Quanto pesi?");
                    pes = input.nextInt();
            calcola.setPeso(pes);
            System.out.println("Quanto sei alto/a?");
                    alt = input.nextInt();
            calcola.setAltezza(alt);
            calcola.setImc();
            System.out.print("Il tuo indice di massa corporea \u00e8: ");
            }
    }
    Vi ringrazio in anticipo, e scusate se ho commesso qualche oscenità

  2. #2
    a prescindere dall'errore, i metodi setXxx sono "sbagliati".
    dovrebbero restituire void.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2014
    residenza
    Padova
    Messaggi
    361
    L'errore riportato significa che stai usando un metodo passandogli parametri diversi da quelli indicati
    nella dichiarazione del metodo: nello specifico richiami questo metodo:

    calcola
    .setImc();

    che hai definito nel seguente modo:

    public int setImc(int imc)

    Devi quindi passare un intero al metodo!



Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.