Un metodoget non riesce a ricevere valore di due altri meto

di il
3 risposte

Un metodoget non riesce a ricevere valore di due altri meto

Buon Giorno,
mi chiamo Claudio sono uno studente di informatica del primo anno. Ho un piccolo problema con un programmino in Java.
Il programma viene compilato ma al momento dell esececuzione non mi da il risultato giusto. Il problema consiste nel fatto. Che un metodo get (quindi che mi deve ritornare il valore di una variabile) non riesce ad leggere il valore di due altri due metodi. Si tratta di un esercizio al fine di imparare il linguaggio quindi niente di che. Se qualcuno mi potrebbe spiegare il perche non prende i valori gliene sarei grato . Grazie ancora .. vi posto il codice ..

Scanner input = new Scanner(System.in);
	private double km;  //dichiarazione delle variabili
	private double liter;
        private double kmProliter;

public Cartrip()
	{
		km = 0;  // metodo costruttore initializazione delle variabili 
		liter= 0;
                kmProliter=0;
        }

//Metodo che prende in Input i valori e li mette nelle variabili
public void setInputData()
	{	
		System.out.print("Enter the km you drive in this trip: ");
		km = input.nextDouble();
		System.out.print("Enter the liter of gasoline you waste in this trip: ");
		liter = input.nextDouble();
	}
//ecco i due metodi get che ritornano il valore delle variabili 
public double getLiter()                                   
	{
		
		return liter;
				
	}
public double getKm()
	
	{
		return km;
	}
//Ed infine il metodo che dovrebbe ricevere i valori dei due metodi get e mettere il calcola in 
//una terza variabile .. ma NON FUNZIONA 
public void setKmproLiter()
	{	
		if (liter != 0)
			kmProLiter= getKm()/ getLiter();
	}

3 Risposte

  • Re: Un metodoget non riesce a ricevere valore di due altri meto

    Non riesco a capire cosa intendi dicendo che non funzionano i metodi get, a prima vista senza compilazione ed esecuzione non mi sembra che ci siano problemi, hai chiesto espressamente nel metodo main che ti venga visualizzato il valore kmproliter? Generalmente i programmi sono molto taciturni parlano solo quando interpellati o in presenza di errori, se un programma arriva al termine puo non produrre nessun output se non chiesto espressamente, prova a mettere un System.out.print() subito dopo la riga del settaggio della variabile dentro la if e vedi cosa succede.
  • Re: Un metodoget non riesce a ricevere valore di due altri meto

    Ciao Lysz210 intanto grazie della risposta.

    si certo anzi nel main instanzio un nuovo oggetto di questa classe e invoco direttamente questo metodo. Il problema sta proprio nel fatto che il compilatore non mi da nessuno errore.

    Il fatto e che il metodo getproliter() non riesce a ricevere i valori?!?

    N.B Chiaramente prima i valori sono stati inseriti con il metodo setInputData().

    Se metto una System.out.println per vedere se i valori ci sono dentro il metodi getKm() e getLiter() quelli me li da .. ma poi non miriesce a fare il calcolo con getproliter() neanche se al posto dei due metodi ci metto direttamente le variabili..

    Bohh non so cosa pensare .. mi sembra un programmino cosi banale ..
  • Re: Un metodoget non riesce a ricevere valore di due altri meto

    cierre02 ha scritto:


    Ciao Lysz210 intanto grazie della risposta.

    si certo anzi nel main instanzio un nuovo oggetto di questa classe e invoco direttamente questo metodo. Il problema sta proprio nel fatto che il compilatore non mi da nessuno errore.

    Il fatto e che il metodo getproliter() non riesce a ricevere i valori?!?

    N.B Chiaramente prima i valori sono stati inseriti con il metodo setInputData().

    Se metto una System.out.println per vedere se i valori ci sono dentro il metodi getKm() e getLiter() quelli me li da .. ma poi non miriesce a fare il calcolo con getproliter() neanche se al posto dei due metodi ci metto direttamente le variabili..

    Bohh non so cosa pensare .. mi sembra un programmino cosi banale ..
    ma non vedo Il metodo getproliter(), riesci a postare la classe intera compreso del main per il test, sinceramente non riesco a capire cosi, perche se la stampa lo fa vuol dire che i metodi get funzionano corettamente, In ogni caso le funzioni della classe conviene che usino direttamente le variabili inveece che get che sono dedicate esclusivamente per dare la loro visibilita' all'esterno, cosi sviti di far fare lavoro extra alla macchina.
Devi accedere o registrarti per scrivere nel forum
3 risposte