Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    229

    [Java]: stampare un valore di un Object

    ciao a tutti sto sviluppando il gioco della briscola in java, ho creato, per prima cosa, una classe Carte che funzione in modo seguente:

    codice:
    public Carte(int s, int n, int v){
     segno=s;
     number=n;
     value=v;
    }
    dopo di chè ho creato una array di carte chiamato mazzo

    codice:
    Carte[] mazzo;
    mazzo= new Carte[39];
    mazzo[0]= new Carte(0,1,11);
    ora mi servirebbe un metodo che scorra l'array e mi permetta di stampare su console i valori segno, number, value.
    Come posso fare???
    Grazie

    Ad Maiora

  2. #2

    Re: [Java]: stampare un valore di un Object

    Originariamente inviato da robboso
    ciao a tutti sto sviluppando il gioco della briscola in java, ho creato, per prima cosa, una classe Carte che funzione in modo seguente:

    codice:
    public Carte(int s, int n, int v){
     segno=s;
     number=n;
     value=v;
    }
    dopo di chè ho creato una array di carte chiamato mazzo

    codice:
    Carte[] mazzo;
    mazzo= new Carte[39];
    mazzo[0]= new Carte(0,1,11);
    ora mi servirebbe un metodo che scorra l'array e mi permetta di stampare su console i valori segno, number, value.
    Come posso fare???
    Grazie

    Prima di tutto la classe Carte la chiamerei Carta visto che ogni sua istanza modella una singola carta, per il tuo problema ti è sufficiente sovrascrivere il metodo toString della classe Carta e metterci le tre println per la stampa dei campi che vuoi visualizzare, poi scorri l'array di carte e per ogni carta chiami toString
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    229
    ho seguito il tuo consiglio, ma ho un piccolo problema.

    codice:
    asso=new Card(0,1,11);
    		due=new Card(0,2,0);
    		tre=new Card(0,3,10);
    		quattro=new Card(0,4,0);
    		cinque=new Card(0,5,0);
    		sei=new Card(0,6,0);
    		sette=new Card(0,7,0);
    		donna=new Card(0,8,2);
    		cavallo=new Card(0,9,3);
    		re=new Card(0,10,4);
    		
    		//denari=0
    	
    		mazzo[0]= asso;
    		mazzo[1]= due;
    		mazzo[2]= tre;
    		mazzo[3]= quattro;
    		mazzo[4]= cinque;
    		mazzo[5]= sei;
    		mazzo[6]= sette;
    		mazzo[7]= donna;
    		mazzo[8]= cavallo;
    		mazzo[9]= re;
    		
                    
                    for(int i=0; i<mazzo.length; i++){
    			Card.printCard();
    		}
    perchè mi stampa sempre gli stessi valori per tutte le carte??? ovvero 0 10 4 che sono i valore del re???
    Grazie
    Ad Maiora

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    698
    Posta il codice del metodo printCard(), l'inghippo sta li

    Vedo che non è parametrico rispetto all'indice con cui scorri il ciclo for, quindi sembra logico che stampi sempre la stessa cosa

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    229
    codice:
          public static int getSegno(){
    		int x;
    		x=Card.segno;
    		//System.out.println(x);
    		return x;
    	}
    	
    
           public static int getNumber(){
    		int x;
    		x=Card.number;
    		return x;
    	}
    	
    	public static int getValue(){
    		int x;
    		x=Card.value;
    		return x;
    	}
    	
    	public static void printCard(){
    		System.out.println(Card.getSegno());
    		System.out.println(Card.getNumber());
    		System.out.println(Card.getValue());
    	}
    Ad Maiora

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    698
    codice:
    class Card {
        // costruttore che hai fatto tu
        public int getSegno() {return segno;}
        public int getNumber() {return number;}
        public int getValue() {return value;}
        
        public String toString() {
            return (segno+"\n"+number+"\n"+value);
        }
        //altri metodi
    }
    codice:
                    asso=new Card(0,1,11);
    		due=new Card(0,2,0);
    		tre=new Card(0,3,10);
    		quattro=new Card(0,4,0);
    		cinque=new Card(0,5,0);
    		sei=new Card(0,6,0);
    		sette=new Card(0,7,0);
    		donna=new Card(0,8,2);
    		cavallo=new Card(0,9,3);
    		re=new Card(0,10,4);
    		
    		//denari=0
    	
    		mazzo[0]= asso;
    		mazzo[1]= due;
    		mazzo[2]= tre;
    		mazzo[3]= quattro;
    		mazzo[4]= cinque;
    		mazzo[5]= sei;
    		mazzo[6]= sette;
    		mazzo[7]= donna;
    		mazzo[8]= cavallo;
    		mazzo[9]= re;
    		
                    
                    for(int i=0; i<mazzo.length; i++){
    			// Card.printCard(); non cosi
                            System.out.println(mazzo[i]); 
    		}

  7. #7
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    direi anche che segno, number e value non devono essere static

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    698
    si infatti li ho messi nella classe card apposta

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    229
    non cambia niente, stampa sempre gli stessi tre valori per tutti gli oggetti della classe Card: ovvero 0, 10 ,4.
    Ad Maiora

  10. #10
    Originariamente inviato da robboso
    non cambia niente, stampa sempre gli stessi tre valori per tutti gli oggetti della classe Card: ovvero 0, 10 ,4.
    Non così
    codice:
    for(int i=0; i<mazzo.length; i++){
    			Card.printCard();
    		}
    ma così

    codice:
    for(int i=0; i<mazzo.length; i++){
    			mazzo[i].printCard();//o toString o quello che è
    		}
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

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.