Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [java] Errore inserimento oggetti in un array

    Salve, ho un problema con la creazione di un array di oggetti. Come esercizio dovrei creare un mazzo di 52 carte e ho usato un array di oggetti Card, però non riesco ad inizializzarlo dal costruttore in quanto quando vado a fare una stampa di controllo mi stampa sempre lo stesso valore (ovvero 13 picche). Tuttavia però, ho provato a fare una stampa nel ciclo più interno e non risultano esserci errori, vengono stampate le corrette 52 carte. Quindi presumo che l'errore avvenga tra il ciclo interno e quello esterno, ma non capisco quale sia. Di seguito vi posto il codice:

    codice:
    import java.io.File; 
    import java.io.IOException; 
    import javax.imageio.ImageIO; 
    public class Mazzo { 
       public static Card[] mazzo= new Card[52]; 
       private int cont;
     
       public Mazzo(){ 
           cont=0; 
           int x=0; 
           for(int i=0; i<=3; i++){ 
                for(int j=1; j<=13; j++){ 
                     mazzo[x]=new Card(i, j); 
                     System.out.println(mazzo[x].getValore());
                     System.out.println(mazzo[x].getSeme()); 
                     x++; 
                }  
           } 
           for(int i=0; i<52; i++){ 
              System.out.println(mazzo[i].getValore()); 
              System.out.println(mazzo[i].getSeme());
           } 
        } 
    
        public static void main(String[] args){ 
              Mazzo deck= new Mazzo(); 
        } 
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    Il problema l'hai risolto?

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3
    hai provato questo?

    codice:
    public Mazzo(){ 
           cont=0; 
           int x=0; 
           for(int i=0; i<=3; i++){ 
                for(int j=1; j<=13; j++){ 
                     mazzo[x]=new Card(i, j); 
                     System.out.println(mazzo[x].getValore());
                     System.out.println(mazzo[x].getSeme()); 
            if (x!=0){
                     System.out.println(mazzo[x-1].getValore());
                     System.out.println(mazzo[x-1].getSeme()); 
                   }
                     x++; 
                }  
           }
    Così ti dovrebbe stampare ogni carta seguita dalla sua precedente.

  4. #4
    Se ci posti anche la classe Card potremmo darci meglio un'occhiata...
    I miei esempi in Java qui: http://cdpjavaexamples.altervista.org/index.html

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.