Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    142

    [JAVA] Come eseguire casting Aiuto!!

    salve a tutti io ho questo codice e voglio effettuare visualizzare il contenuto del LinkedList ma mi restituisce l indirizzo di ogni carta...allora io vi domando come posso fare per visualizzare correttamente il contenuto del LinkedList?
    codice:
    import java.util.Vector;
    
    
    public class Carta {
    	private Vector mazzoNuovo;
    	Carta(){ 
    		mazzoNuovo = new Vector();
    	}
    	public String generaCarta(int ordine){
    		for(int i=1;i<=10;i++){
    			mazzoNuovo.add(i+" di Bastoni");	
    		}
    		for(int i=1;i<=10;i++){
    			mazzoNuovo.add(i+" di Coppe");	
    		}
    		for(int i=1;i<=10;i++){
    			mazzoNuovo.add(i+" di Denari");	
    		}
    		for(int i=1;i<=10;i++){
    			mazzoNuovo.add(i+" di Spade");	
    		}
         	return (String)mazzoNuovo.get(ordine);
    	}
    }
    codice:
    import java.util.*;
    public class Mazzo {
    	private LinkedList mazzo;
    	Mazzo(){
    		mazzo = new LinkedList();
    	}
    	public void inserisciCarta(Carta c){
    		mazzo.addLast(c);
    	}
    	public void mescolaCarte(){
    		int c;
    		Object o,o2;
    		for(int i=0;i<40;i++){
    			c = (int)((Math.random()*39)+1);
    			o = mazzo.get(c);
    			o2 = mazzo.get(i);
    			mazzo.set(i, o);
    			mazzo.set(c, o2);
    		}
    	}
    	public void inserisciCartaEstratta(){
    		mazzo.addLast(mazzo.getFirst());
    		mazzo.remove(0);
    	}
    	public void visualizzaMazzo(){
    		ListIterator iteratore = mazzo.listIterator();
    		while(iteratore.hasNext()){
    			System.out.println(iteratore.next());
    		}
    	}
    	public static void main(String[] args) {
    		Mazzo m = new Mazzo();
    		Carta c = new Carta();
    		int i =0;
    		do{
    			c.generaCarta(i);
    			m.inserisciCarta(c);
    			i++;
    		}while(i<40);
    		m.visualizzaMazzo();
    		System.out.println();
    		m.mescolaCarte();
    		m.visualizzaMazzo();
    		m.inserisciCartaEstratta();
    		System.out.println();
    		m.visualizzaMazzo();
    
    	}
    
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    502
    Ho poco chiara la tua domanda e specialmente a quale riga di codice ti riferisci.
    Se nella classe Carta non definisci un toString(), quando con l'iteratore recuperi i vari oggetti dalla lista (perché non la parametrizzi con Carta?), il System.out.print utilizza il metodo di default di Object che stampa appunto quello che vedi.
    al volante son nervoso

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    142
    allora hai risposto in parte alla mia domanda e di questo ti ringrazio solo che non ho chiaro come realizzare il metodo toString() perchè non so all interno cosa restituire se mi potessi indicare te ne sarei grato grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    502
    Originariamente inviato da Gybra
    allora hai risposto in parte alla mia domanda e di questo ti ringrazio solo che non ho chiaro come realizzare il metodo toString() perchè non so all interno cosa restituire se mi potessi indicare te ne sarei grato grazie
    Nella classe Carta non hai nessuna variabile di classe: perché non inserire una variabile String per il seme, e un intero per il numero della carta, oppure una String formata da seme più numero, con i getter e setter?
    Così il toString() sarebbe "naturale":
    codice:
    private String seme;
    private int numero;
    ...
    
    public String toString(){
        String s="Carta "+String.valueOf(this.getNumero())+" di "+this.getSeme();
        return (s);
    }
    o qualcosa del genere.

    EDIT: ma la classe Carta dovrebbe modellare una Carta appunto e la classe Mazzo l'insieme delle carte? Ogni volta che fai generaCarta, aggingi altre 40 carte al mazzo E' questo che vuoi?
    Secondo me dovresti generare il mazzo in fase di costruttore di Mazzo, e poi usare la linkedlist di mazzo.
    al volante son nervoso

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.