Franceschina87
03-12-2009, 21:24
Ciao a tutti :help: ,
qualcuno saprebbe dirmi che errori di compilazione sono questi:
illegal character: \187
illegal character:\ 191
?????????????????????? :muro: :confused: :cry:
bottomap
03-12-2009, 21:29
Ciao,
E'difficile darti spiegazioni specifiche se non vediamo almeno qualche spezzone di codice, ad ogni modo sembra tu abbia utilizzato come character un'espressione del tipo '\187' o '\ 191'.
Chiaramente non sono escape validi e non sono caratteri (volevi indicare il carattere ascii 187 ╗ e il 191 ⌂ ? Oppure cosa volevi ottenere?).
Ciaociao :)
Ciao a tutti :help: ,
qualcuno saprebbe dirmi che errori di compilazione sono questi:
illegal character: \187
illegal character:\ 191
?????????????????????? :muro: :confused: :cry:
Posta il codice :)
Franceschina87
03-12-2009, 22:34
Ecco il codice intero:help: :
class E3{
/** Realizzare la funzione mat qui sotto riportata che dato in ingresso una matrice
* nxn di nome m rappresentata come array di array (dove m[i] rappresenta l'i-esima
* riga), azzera le due linee adiacenti alla diagonale.
* Ad esempio, la matrice
*
* 3333
* 2313
* 1233
* 5123
*
* Deve essere trasformata in
*
* 3033
* 0303
* 1030
* 5103
*
*
* Si consideri anche che l'esecuzione del test (eseguita dal metodo main) deve riportare
* il risultato true. Come ausilio per il debugging, si noti che la funzionalità arrayEquals
* sotto riportata stampa i due array che sta confrontando!
**/
public static int[][] mat(int[][] m){
for (int i=1;i<m.length;i++){
m[i-1][i]=0;
m[i][i-1]=0;
}
return m;
}
public static boolean test(){
int[][] m=new int[][]{
new int[]{3,3,3,3,3},
new int[]{2,3,1,3,3},
new int[]{1,2,3,3,1},
new int[]{1,1,2,3,1},
new int[]{1,1,2,3,5}
};
int[][] m2=mat(m);
return
arrayEquals(m2[0],new int[]{3,0,3,3,3}) &&
arrayEquals(m2[1],new int[]{0,3,0,3,3}) &&
arrayEquals(m2[2],new int[]{1,0,3,0,1}) &&
arrayEquals(m2[3],new int[]{1,1,0,3,0}) &&
arrayEquals(m2[4],new int[]{1,1,2,0,5});
}
public static void main(String[] s){
System.out.println(""+test());
}
static String arrayToString(int[] a){
String s="";
for (int i=0;i<a.length;i++) {
s+=a[i]+";";
}
return s;
}
static boolean arrayEquals(int[] a,int[] b){
System.out.println("a "+arrayToString(a));
System.out.println("b "+arrayToString(b));
if (a.length!=b.length) return false;
for (int i=0;i<a.length;i++){
if (a[i]!=b[i]) {
return false;
}
}
return true;
}
}
wingman87
03-12-2009, 23:21
Probabilmente hai copiato degli spezzoni di codice da qualche parte (ad esempio da un file pdf) e sono rimasti dei caratteri che non si vedono ma che danno fastidio al compilatore.
Sostituisci il codice che hai scritto con quello che hai copiato qui, ho provato a compilarlo ed evidentemente nel copia incolla qui sul forum sono stati cancellati quei caratteri fastidiosi.
Franceschina87
04-12-2009, 10:25
Allora se copio il codice qui nel forum e lo incollo in un nuovo file non da problemi, altrimenti se lo incollo sopra al codice del file originale da lo stesso errore..
Ma non c'è un modo per vedere questi caratteri illegali?
wingman87
04-12-2009, 12:37
Con alcuni editor si vedono, ora però non me ne vengono in mente. Sicuramente si vedono con un editor esadecimale.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.