|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 | |
|
Junior Member
Iscritto dal: Mar 2009
Messaggi: 9
|
[Java] Aiuto Problema con Java e Xcode
Ho compilato questo programma, chiamato gioco della vita su xcode
Codice:
import java.util.*;
public class GiocoDellaVita {
public static void main (String args[]) {
Scanner s= new Scanner (System.in);
System.out.print("Quante righe?");
int n= s.nextInt();
System.out.print("Quante colonne?");
int m= s.nextInt();
char [][]mappa= new char [n][m];
leggiConfigurazione(mappa);
System.out.print ("Quante generazioni?");
int g= s.nextInt();
for (int i=0; i<g; i++) {
char [][] nuovaGen= prossimaGenerazione(mappa);
stampaRigheMatrice (nuovaGen);
mappa=nuovaGen;
}// for
}// main
public static void stampaRigheMatrice(char[][] A) {
for (int i=0; i<A.length; i++) { // scandisce righe
for (int j=0; j<A[0].length; j++) // scandisce elementi riga i
System.out.print(A[i][j]+" "); // stampa elemento riga
System.out.println(); // fine riga
}
}//fine metodo
static char[][] prossimaGenerazione (char [][]a){
char b[][]= new char [a.length][a[0].length];
for (int i=0; i<b.length; i++)
for (int j=0; j<b[0].length; j++){
int v= vicini(a,i,j);
if (a[i][j]=='*')
b[i][j]= (v==2 || v==3) ? '*': '.';
else
b[i][j]= (v==3) ?'*': '.';
}// for
return b;
}//metodo
static int vicini (char[][]a, int i, int j) {
int cv=0;// conta i vicini
if (i>0 && a[i-1][j]=='*') cv++;//nord
if (i>0 && j<a[0].length-1 && a[i-1][j+1]=='*') cv++;
if (j>a[0].length-1 && a[i][j+1]== '*') cv++;
if (i<a.length-1 && j<a[0].length-1 && a[i+1][j+1]=='*') cv++;
if (i<a.length-1 && a[i+1][j]=='*') cv++;
if (i<a.length-1 && j>0 && a[i+1][j-1]=='*') cv++;
if (j>0 && a[i][j-1]=='*') cv++;
if (i>0 && j>0 && a[i-1][j-1]=='*') cv++;
return cv;
}// vicini
static void leggiConfigurazione (char[][]a) {
Scanner b= new Scanner (System.in);
String line= null;
for (int i=0; i<a.length; i++) {
line=b.nextLine();
if (line.length()!=a[0].length) {
System.out.println("Lunghezza della linea scorretta");
System.exit(-1);
}// fine
for (int j=0; j<a[0].length; j++)
a[i][j]=line.charAt(j);
}// fine for
} //fine leggiConfigurazione
}
Quote:
Ho dato il mio codice a un mio amico che usa Textpad e sul suo computer funzionava perfettamente, quindi credo che il codice sia corretto ma c'è qualcosa che non va in Xcode. Qualcuno può aiutarmi? Inoltre potete consigliarmi dei metodi alternativi per compilare in java su Mac (magari direttamente da Terminale) |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:20.



















