Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    44

    Esercizio sui numeri interi

    Salve a tutti,
    sto imparando solo ora questo linguaggio di programmazione e non sono tanto bravo.
    Mi hanno dato un esercizio ma non so da dove iniziare.
    L'esercizio è questo:
    Ho questa classe

    public class NumeroIntero
    {
    public int numeroIntero;
    public void stampaNumero()
    {
    System.out.println(numeroIntero);
    }
    }

    Scrivere una classe che istanzia due oggetti dalla classe NumeroIntero, cambierà il valore delle relative variabili e testerà la veridicità delle avvenute assegnazioni, sfruttando il metodo stampaNumero(). Aggiungerà un costruttore alla classe NumeroIntero, che inizializzi la variabile díistanza.

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Esercizio sui numeri interi

    Originariamente inviato da Beagle
    Salve a tutti,
    sto imparando solo ora questo linguaggio di programmazione e non sono tanto bravo.
    Mi hanno dato un esercizio ma non so da dove iniziare.
    L'esercizio è questo:
    Ho questa classe

    public class NumeroIntero
    {
    public int numeroIntero;
    public void stampaNumero()
    {
    System.out.println(numeroIntero);
    }
    }

    Scrivere una classe che istanzia due oggetti dalla classe NumeroIntero, cambierà il valore delle relative variabili e testerà la veridicità delle avvenute assegnazioni, sfruttando il metodo stampaNumero(). Aggiungerà un costruttore alla classe NumeroIntero, che inizializzi la variabile díistanza.
    Crei un'altra classe che conterrà il metodo main() (a dire il vero potresti metterlo anche in NumeroIntero .... vedi tu ... ma forse è meglio farlo in modo separato, visto che è un esercizio) e al cui interno crei 2 istanze di NumeroIntero. Visto che il membro numeroIntero è public, imposti direttamente il valore nei due oggetti, quindi invochi stampaNumero sui due oggetti.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    44
    Quindi scrivendo il codice come verrebbe?
    Non so molto.. sono ale prime armi...
    grazie per l'attenzione.

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Beagle
    Quindi scrivendo il codice come verrebbe?
    Non so molto.. sono ale prime armi...
    grazie per l'attenzione.
    codice:
    class Prova
    {
        public static void main (String[] args)
        {
            NumeroIntero n1 = new NumeroIntero ();
            
            /* .... completa .... */
        }
    }
    
    
    class NumeroIntero
    {
        public int numeroIntero;
    
        public void stampaNumero()
        {
            System.out.println(numeroIntero);
        }
    }
    Completa tu .... altrimenti non imparerai nulla!
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    44
    Ok. ho istanziato i due oggetti
    class Prova
    {
    public static void main (String[] args)
    {
    NumeroIntero n1 = new NumeroIntero ();
    n1.stampaNumero();

    NumeroIntero n2 = new NumeroIntero ();
    n2.stampaNumero();

    }
    }
    Ora cosa vuol dire cambiare il valore delle relative variabili e testere la veridicità delle avvenute assegnazioni, sfruttando il metodo stampaNumero(). Aggiungerà un costruttore alla classe NumeroIntero, che inizializzi la variabile díistanza.???
    Cosa devo fare?

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Beagle
    Ora cosa vuol dire cambiare il valore delle relative variabili
    Visto che il membro numeroIntero è public ti basta usare la notazione:

    oggetto.membro = ....;

    per impostare un valore nel membro.

    Originariamente inviato da Beagle
    e testere la veridicità delle avvenute assegnazioni, sfruttando il metodo stampaNumero().
    Questo l'hai appena fatto ... hai invocato stampaNumero sui due oggetti.

    Originariamente inviato da Beagle
    Aggiungerà un costruttore alla classe NumeroIntero, che inizializzi la variabile díistanza.???
    Così come è adesso, non hai definito alcun costruttore nella classe NumeroIntero. Ogni classe deve sempre avere almeno 1 costruttore, questo è tassativo. Se il programmatore non ne definisce almeno uno, il compilatore ne inserisce uno di "default" che non ha parametri e che chiama semplicemente super().

    Devi quindi specificare un costruttore che ha un parametro di tipo int e nel costruttore lo assegni al membro numeroIntero.
    Una volta fatto questo, puoi modificare il main() in modo da creare i due oggetti passando un valore nel costruttore.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    44
    Ok fino a qui ci sono:
    class Main
    {
    public static void main (String[] args)
    {
    NumeroIntero n1 = new NumeroIntero ();

    n1.numeroIntero=4;
    n1.stampaNumero();
    NumeroIntero n2 = new NumeroIntero ();
    n2.numeroIntero=5;
    n2.stampaNumero();

    }
    }


    class NumeroIntero
    {
    public int numeroIntero;

    public void stampaNumero()
    {
    System.out.println(numeroIntero);
    }

    }

    Devi quindi specificare un costruttore che ha un parametro di tipo int e nel costruttore lo assegni al membro numeroIntero.
    Una volta fatto questo, puoi modificare il main() in modo da creare i due oggetti passando un valore nel costruttore.
    quindi devo scrivere
    public int NuovoNumero(){}???

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    5
    devi aggiungere alla classe NumeroIntero

    public NumeroIntero(int n);
    {
    numeroIntero=n;
    }


    in questa maniera puoi creare un oggetto NumeroIntero in 2 modi:
    - quello vecchio: NumeroIntero n1 = new NumeroIntero ();
    - quello nuovo: NumeroIntero n1 = new NumeroIntero (4);

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    44
    Mi da un errore: missing method body or declare abstract in

    public NumeroIntero(int n);
    {
    numeroIntero=n;
    }

    dopo che correggo questo problema nella classe prova basta che scrivo
    NumeroIntero n1 = new NumeroIntero (5); giusto??
    quindi devo cambiare anche
    NumeroIntero n2 = new NumeroIntero (10);??
    grazie

  10. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Cyrus00
    devi aggiungere alla classe NumeroIntero

    public NumeroIntero(int n);
    {
    numeroIntero=n;
    }
    A parte il fatto che hai messo un ; di troppo .... comunque non era meglio se ci arrivava da solo Beagle??

    Originariamente inviato da Cyrus00
    in questa maniera puoi creare un oggetto NumeroIntero in 2 modi:
    - quello vecchio: NumeroIntero n1 = new NumeroIntero ();
    No, sbagliato. Se il programmatore definisce un costruttore ad esempio con parametro, il costruttore di default non viene messo.
    Il costruttore di default viene aggiunto dal compilatore solo quando il programmatore non ne definisce almeno uno esplicitamente.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.