Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    34

    Errore output Vettore

    Ciao a tutti!

    Sono alle prime armi in Java, dovrei stampare il contenuto del vettore (false,3) restituito da a.

    codice:
    import java.util.*;
    
     public class Lista {
       
        public class Coppia {
            boolean c;
            int d;
            
            public Coppia(boolean c, int d){
               this.c=c;
               this.d=d;
            }
        }
    
        public Vector Inserisci(){
            Vector vet=new Vector();
            Coppia c=new Coppia(false,3);
            System.out.println(c);
            vet.add(c);
            System.out.println(vet);
          return vet;
    
        }  
        
        public static void main(String args[]) {
          Vector a=new Vector();
           Lista l=new Lista();
         a=l.Inserisci();
         System.out.println(a);
        
      
        }//main
     
    }//Lista


    Purtroppo, il risultato dato è

    List1$Coppia@13c5982
    [List1$Coppia@13c5982]
    [List1$Coppia@13c5982]

    Non riesco a trovare l'errore...

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Innanzitutto la tua classe Coppia non ridefinisce toString() per cui usa quello che eredita da Object (e che mostra il nome della classe più un hash). Ridefiniscilo per farti stampare quello che vuoi.
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    34
    Grazie per la risposta!

    Potresti correggere il codice?

    Grazie!

  4. #4
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da edotax
    Grazie per la risposta!

    Potresti correggere il codice?

    Grazie!
    Che ne so io di come vuoi stampare una coppia...
    Scrivi un metodo toString() in cui restituisci quello che vuoi che si veda quando stampi 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
    Registrato dal
    Oct 2011
    Messaggi
    34
    Forse mi sono spiegato male....

    Il vettore che mi servirebbe è costituito nel seguente modo:

    ogni elemento del vettore è costituito da due valori (boolean, integer)

    Quando effettuo l'inserimento dei valori nel vettore con vet.add(c) e eseguo la stampa a video del vettore, invece di di visualizzarmi i valori inseriti [false,3] mi visualizza
    [List1$Coppia@13c5982].

    Spero di essere stato più chiaro!

  6. #6
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da edotax
    Forse mi sono spiegato male....

    Il vettore che mi servirebbe è costituito nel seguente modo:

    ogni elemento del vettore è costituito da due valori (boolean, integer)

    Quando effettuo l'inserimento dei valori nel vettore con vet.add(c) e eseguo la stampa a video del vettore, invece di di visualizzarmi i valori inseriti [false,3] mi visualizza
    [List1$Coppia@13c5982].

    Spero di essere stato più chiaro!
    Ed io ti ripeto che è normale e corretto che ti stampi List1$Coppia@13c5982: come fa java a sapere che tu vuoi stampare un oggetto in quel modo? Non lo sa e di default ti stampa il nome della classe e il suo hash. Devi essere TU a dire a Java "ehi, quando ti chiedo di stampare un oggetto della classe Coppia, stampamelo in questo modo!"

    Questo lo fai ridefinendo il metodo toString() della classe Coppia...
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    34
    Come faccio a ridefinire il metodo toString() della classe Coppia?

    Potresti correggere, gentilmente il codice, con il metodo toString() in modo che stampi il contenuto del vettore vet? Ovvero [false,3]

    Grazie!

  8. #8
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Un minimo di iniziativa?
    Basta cercare "java override toString()" per trovare migliaia di link.

    Su che libro stai studiando?

    Ti abbozzo il metodo, sei in grado di completarlo?
    Se sì, bene, altrimenti meglio se rivedi le basi di java...

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

  9. #9
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    Visto che Java ha un forum dedicato, sposto la discussione nel posto giusto.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.