Homepage  Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum


.dsy:it. .dsy:it. Archive > Didattica > Corsi N - Z > Programmazione
 
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).

terry
Graziee

Powered by: vbHome (lite) v4.1 and vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento |Licenze | Thanks | Syndacate