Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2015
    Messaggi
    4

    Problema, alle prime armi con java (print)

    Salve a tutti ho un problema che per voi sarà sicuramente banale, Ho creato una classe Persone e l'ho estesa a studente
    Nel Main ho creato una Persona e vorrei visualizzarla a video ma il System.out non mi restituisce niente..qualcuno può aiutarmi?
    Ecco il codice
    codice:
    import java.io.*; class Persona {
        String Nome;
        String Cognome;
        int eta;
        String CodiceFiscale;
        
        public Persona (String Nome,String Cognome,int eta,String CodiceFiscale){
        this.Nome= Nome;
        this.Cognome= Cognome;
        this.eta= eta;
        this.CodiceFiscale= CodiceFiscale;   }
    
    
    }
     class Studente extends Persona {
         public Studente (String Nome,String Cognome,int eta,String CodiceFiscale){
         super (Nome,Cognome,eta,CodiceFiscale);}
    int Matricola;
    String PianoDiStudio;
        
    }
    
    
    public class prova {
    public static void main (String [] args){
    
    
    Persona Maria = new Persona ("Maria","Rossi",21, "cc");
    
    
    System.out.println ("Maria");
    System.out.println (Maria);
    }
    }

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Yuuki93 Visualizza il messaggio
    ma il System.out non mi restituisce niente..
    Hai ridefinito toString() ? Direi di no. È quello che viene usato per ottenere una rappresentazione in stringa dell'oggetto.
    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
    Jun 2015
    Messaggi
    4
    Questo è l'intero codice che ho scritto, quindi direi di no, potresti spiegarmi meglio come fare? Ti ringrazio in anticipo

  4. #4
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Aggiungi un metodo così:

    codice:
    @Override
    public String toString() {
        return ... una stringa che ti rappresenta l'oggetto
    }
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  5. #5
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Ah, i campi delle classi: privati per favore, con appositi setter/getter se necessario.
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2015
    Messaggi
    4
    Mi sento piu confusa di prima.. Se metto private invece di public ora mi spuntano errori, il metodo to String sto cercando di capirlo da internet ma fin'ora non mi funziona..è il mio primo programma in Java.

    Ho aggiunto
    public String toString() { return Nome+Cognome+eta+CodiceFiscale;
    }

    Ma quando creo Maria non mi restituisce niente
    Persona Maria = new Persona ("Maria", "Rossi",11,"cc");
    System.out.println (Maria);
    Ultima modifica di Yuuki93; 25-06-2015 a 12:34

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Quote Originariamente inviata da Yuuki93 Visualizza il messaggio
    Mi sento piu confusa di prima.. Se metto private invece di public ora mi spuntano errori, il metodo to String sto cercando di capirlo da internet ma fin'ora non mi funziona..è il mio primo programma in Java.
    In Java è buona norma definire getter e setter delle proprietà utilizzate
    codice:
        private Tipo var;
    
        public void setVar(Tipo var){
            /* condizioni */
            this.var = var;
        }
    
    
        public String getVar(){
            return var;
        }
    Ogni oggetto in Java ha un metodo toString() perché inerente alla classe Object, se tu nei fai l'override ritornerà cosa vuoi tu.

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2014
    residenza
    Padova
    Messaggi
    361
    Quote Originariamente inviata da Yuuki93 Visualizza il messaggio
    Ho aggiunto
    public String toString() { return Nome+Cognome+eta+CodiceFiscale;
    }

    Ma quando creo Maria non mi restituisce niente
    In che senso non ti restituisce niente? Ho compilato ed eseguito la tua classe Persona aggiungendo il metodo toString() da te ridefinito e a me stampa a video:
    "MariaRossi11cc" che è quello che hai impostato tu.Se per caso hai sbagliato qualcosa nel toString() (ad esempio non è la stessa cosa se scrivi ToString(), non stai più facendo l'override di quel metodo), dovresti comunque vedere qualcosa di questo tipo:"Persona@15db9742"....

    Attenta quindi anche all' uso delle maiuscole/minuscole: mi corregga qualche utente più esperto se mi sbaglio ma penso sia convenzione utilizzata da tutti il definire le classi con la lettera maiuscola e le variabili e le istanze di oggetti con la lettera minuscola (nel tuo caso quindi i campi nome,cognome,codiceFiscale di Persona e l'istanza Persona maria).
    Questo anche perchè se tu chiami un oggetto con lo stesso nome di una classe, potrebbe essere ambiguo il fatto di riferirsi a un campo di un oggetto o un campo (statico) di una classe.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2015
    Messaggi
    4
    Grazie mille sono riuscita a farlo funzionare, non mi è ancora chiaro il metodo setter/getter cioè perchè usarlo e a cosa serve ma piano piano lo capirò, avete un buon manuale da consigliarmi?
    Vorrei qualcosa che analizza la teoria ma contemporaneamente la pratica perchè ho provato a imparare tutta la teoria e dopo eseguire la pratica ma se non provo le cose insieme non mi restano impresse :/

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.