Allora io devo fare un programma che simuli il gioco Mastermind ma mi dà un output strano
Classe main
e questa è la classecodice:public static void main(String[] args)throws Exception { Mastermind Mast=new Mastermind(); InputStreamReader isr=new InputStreamReader(System.in); BufferedReader br=new BufferedReader(isr); int a[]=new int [4]; String line; System.out.println("Inserisci il primo numero"); line=br.readLine(); a[0]=Integer.parseInt(line); System.out.println("Inserisci il secondo numero"); line=br.readLine(); a[1]=Integer.parseInt(line); System.out.println("Inserisci il terzo numero"); line=br.readLine(); a[2]=Integer.parseInt(line); System.out.println("Inserisci il quarto numero"); line=br.readLine(); a[3]=Integer.parseInt(line); System.out.println(Mast.cv); //è una prova Mast.Setmiacombinazione(a); System.out.println(Mast.mc); //è una prova }
Allora il programma non è finito perchè mi manca da fare un metodo della classe che controlla la combinazione vincente con quella di input, comunque questo è l outputcodice:public class Mastermind { Random NUM=new Random(); int cv[]=new int [4]; int mc[]=new int [4]; public Mastermind(){ int i=0; for(i=0;i<4;i++){ this.cv[i]=NUM.nextInt(11); } while((this.cv[1]==this.cv[0])){ this.cv[1]=NUM.nextInt(11); } while((this.cv[2]==this.cv[1])||(this.cv[2]==this.cv[0])){ this.cv[2]=NUM.nextInt(11); } while((this.cv[3]==this.cv[2])||(this.cv[3]==this.cv[1])||(this.cv[3]==this.cv[0])){ this.cv[3]=NUM.nextInt(11); } } public void Setmiacombinazione(int vet[]){ int i=0; for(i=0;i<4;i++){ this.mc[i]=vet[i]; } } }
Come si vede l output delle 2 combinazioni non sono numeri compresi tra 0-10.codice:Inserisci il primo numero 1 Inserisci il secondo numero 2 Inserisci il terzo numero 3 Inserisci il quarto numero 4 [I@64c3c749 [I@7150bd4d
Quindi la mia domanda è: come faccio a far uscire come output i numeri normali e non questa schifezza?

Rispondi quotando