PDA

View Full Version : [java ] dove sbaglio?


*MATRIX*
04-05-2007, 11:08
class provaarray{
public static void main(string[] args){
}int i;
vett[] a;
vett a = new vett[10];
for ( int i=0 ; i<10 ; i++ ){
a[i]=i;
}
for ( int i=0 ; i<10 ; i++){

system.out.print(+ a[i]);
}
}

vorei che il programma visualizzasse a video i valori del vettore ma mi da errori di compilazione

mi da illegal start of type sul for

andbin
04-05-2007, 11:21
class provaarray{
public static void main(string[] args){
}int i;
vett[] a;
vett a = new vett[10];
for ( int i=0 ; i<10 ; i++ ){
a[i]=i;
}
for ( int i=0 ; i<10 ; i++){

system.out.print(+ a[i]);
}
}No, così è un po' confuso .... la graffa di chiusura del main è messa male (chiude subito il main). E quel 'int i' dichiarato all'inizio??
E 'vett' non ha senso ... lì devi mettere un tipo di dato, primitivo o reference. Ha senso int[] a oppure Integer[] a
Tra l'altro devi mettere System, S maiuscola.

Insomma .... correggi un po' il codice.

*MATRIX*
04-05-2007, 11:22
ok vedo e vi faccio sapere

*MATRIX*
04-05-2007, 11:28
class provaarray{
public static void main(String[] args){

int[] a;
a = new int[10];
for ( int i=0 ; i<10 ; i++ ){
a[i]=i;
}
for ( int i=0 ; i<10 ; i++){

System.out.print("valore =" + a[i]);
}
}
}
adesso va grazie

*MATRIX*
04-05-2007, 11:29
volevo solo sapere una cosa
System.out.print("valore =" + a[i]);

io metto il + perchè altrimenti non funziona ma a che cosa serve?

spv42
04-05-2007, 11:33
In quel caso è una concatenazione di stringhe.

La Virtual Machine converte il tuo int in String, lo concatena con "valore =" e lo stampa sullo standard output (il video, la console).

andbin
04-05-2007, 11:33
volevo solo sapere una cosa
System.out.print("valore =" + a[i]);

io metto il + perchè altrimenti non funziona ma a che cosa serve?Se almeno uno dei due operandi dell'operatore '+' è di tipo String, allora viene effettuata una concatenazione delle stringhe (l'altro operando viene convertito in stringa, se non lo è).

*MATRIX*
04-05-2007, 11:39
grazie raga siete grandi

andrea.ippo
05-05-2007, 15:37
La seconda for te la potevi risparmiare, mettevi l'aggiornamento dell'array e la scrittura del valore corrente in un unico ciclo

for (i=0;i<10;i++) {
a[i]=i;
System.out.println("Valore="+a[i]);
}

;)