Primo approccio: valore numero intero

di il
3 risposte

Primo approccio: valore numero intero

Buongiorno,
scusatemi ma sono al primo approccio con java.
Ho fatto un esercizio con due classi e non capisco una cosa.

Questa è la classe main:

package numerointero;
public class Eserc {
	public static void main(String[] args) {
	      NumeroIntero ni = new NumeroIntero(8);
	      ni.stampaNumero();
	    }
}
Questa è l'altra classe:

package numerointero;
public class NumeroIntero {
    public int numeroIntero;
    public int ni;
    public int nuin=0;
    // Costruttore
    public NumeroIntero(int numeroIntero) {
        System.out.println("costruttore numerointero");
        System.out.println("numero intero " + numeroIntero);
        ni=numeroIntero;
        nuin=100+numeroIntero;
    }
    public void stampaNumero() {
        System.out.println("stampanumero");
        System.out.println("ni " + ni);
        System.out.println("numero intero " + numeroIntero);
        System.out.println("nuin " + nuin);
    }
}
Il risultato è il seguente:

costruttore numerointero
numero intero 8
stampanumero
ni 8
numero intero 0
nuin 108



DOMANDA
Perché numeroIntero all'interno di stampaNumero è uguale a 0?

Scusate se la domanda è scema ma è la mia prima domanda java.
Grazie
Marco

3 Risposte

  • Re: Primo approccio: valore numero intero

    marcom149 ha scritto:


    Perché numeroIntero all'interno di stampaNumero è uguale a 0?
    Non c'è alcun assegnamento al campo (la variabile di istanza) numeroIntero di NumeroIntero, pertanto resta al valore di default = 0.
  • Re: Primo approccio: valore numero intero

    Aggiungo che il problema nasce dall'aver chiamato un argomento di una funzione (il costruttore in questo caso) allo stesso modo di un campo.
    Suggerisco, per capire, questa modifica
        public NumeroIntero(int num) {
            System.out.println("costruttore NumeroIntero");
            numeroIntero=num;
            System.out.println("numero intero " + numeroIntero);
            ni=numeroIntero;
            nuin=100+numeroIntero;
        }
  • Re: Primo approccio: valore numero intero

    Grazie credo di aver capito..... credo
Devi accedere o registrarti per scrivere nel forum
3 risposte