Problema CampoMinato Clicca QUI per vedere il messaggio nel forum |
| gattol |
Salve a tutti, ho un problema con un programma (java), cercherò di essere breve.
Il testo del programma è questo:
http://homes.dsi.unimi.it/~fiorenti...campoMinato.txt
Io ho scritto la classe CampoMinato e fatto l'Esercizio1, entrambi vengono compilati senza problemi ma quando eseguo Esercizio1 mi da questi errori in esecuzione:
java Esercizio1 2 4
0 1 2 3 Exception in thread "main" java.util.IllegalFormatConversionException: d != java.lang.Character
at java.util.Formatter$FormatSpecifier.failConversion(Formatter.java:3999)
at java.util.Formatter$FormatSpecifier.printInteger(Formatter.java:2709)
at java.util.Formatter$FormatSpecifier.print(Formatter.java:2661)
at java.util.Formatter.format(Formatter.java:2433)
at java.io.PrintStream.format(PrintStream.java:920)
at java.io.PrintStream.printf(PrintStream.java:821)
at CampoMinato.stampa(CampoMinato.java:91)
at CampoMinato.stampaTutto(CampoMinato.java:62)
at Esercizio1.main(Esercizio1.java:7)
Questo è il sorgente di Esercizio1.java:
class Esercizio1{
public static void main(String[] args){
int r=Integer.parseInt(args[0]);
int c=Integer.parseInt(args[1]);
CampoMinato campo= new CampoMinato(r,c);
campo.stampaTutto();
}// end main
}// end class
Allego il sorgente della classe CampoMinato.java
Grazie a tutti!:) |
| CowBoy |
| Prova a vedere questo confronto: d != ??? forse non hai usato gli appici... cmq vedo il testo e ti dico. |
| CowBoy |
Il problema è l'uso scorretto del COPIA/INCOLLA! :D
http://download.oracle.com/javase/1...ter.html#syntax
http://download.oracle.com/javase/1...eam.html#printf(java.lang.String, java.lang.Object...)
http://download.oracle.com/javase/1...rintStream.html
System.out.printf(" %2d", MINA_CHAR);
System.out.printf(" %2d", NONSC_CHAR);
MINA_CHAR e NONSC_CHAR sono caratteri, %2d è la formattazione per un intero... ecco la causa dell'eccezione.
code:
private void stampa(char cMina)
{
MINA_CHAR=cMina;
//prima riga
for (int pippo=0; pippo<colonne; pippo++)
{
System.out.printf(" %2d", pippo);
}
System.out.printf("\n");
//righe successive
for (int j=1; j<righe; j++)
{
for (int o=0; o<righe; o++)
{
if (matr[j][o] == MINA)
{
System.out.printf(" %2c", MINA_CHAR);
}
else
{
System.out.printf(" %2c", NONSC_CHAR);
}
}
System.out.printf("\n");
}
}
|
| gattol |
Che idiota. :)
Ora provo a mettere a posto. Grazie! |
| gianni.malvasi |
Ragazzi sto facendo la classe CampoMinato...ho fatto i primi 2 esercizi...
non riesco a scrivere il metodo per scoprire le celle e aggiungere i numeri alle celle adiacenti alla mina...
qualcuno l'ha fatto??? |
| terry |
| Ma questo è un'esercizio dell'esame di laboratorio o è un esame intero?? |
| gattol |
@gianni.malvasi:
Io ne avevo fatto un pezzo ma l'ho abbandonato incompleto e non so neppure se giusto.
@terry:
Io l'ho trovato linkato sulla pagina dell'esame di prog I di Fiorentini (in realtà è nella cartella della Morpurgo) come esercizio da fare a casa in preparazione all'esame di laboratorio (in cui ci sono 4/5 esercizi molto più brevi). |
|
|
|