PDA

View Full Version : [Java]problema stupido :muro:


michelev83
07-07-2004, 14:08
devo fare stampare una tabella di i righe e x colonne

solo che nn ci riesco...

class es66{
public static void main(String[]args){
int i;
int x;
char w;
w=Leggi.unChar();
i=Leggi.unInt();
x=Leggi.unInt();
for (i=i-1; i>=0; i=i-1){
for( x=x-1; x>=0; x=x-1)
System.out.print(w);
System.out.println();
}
}
}


con questo mi stamapa solo una riga...:muro:

Mazza2
07-07-2004, 15:01
ti manca una parentesi forse.. prova cosi'... ma devi stampare solo il char??




public class Prova{


public static void main(String t[]){


int i;
int x;
char w;
w=Leggi.unChar();
i=Leggi.unInt();
x=Leggi.unInt();
for (i=i-1; i>=0; i=i-1){
for( x=x-1; x>=0; x=x-1){
System.out.print(w);
System.out.println();
}
}
}
}

voyager78
07-07-2004, 16:56
Originariamente inviato da michelev83
devo fare stampare una tabella di i righe e x colonne

solo che nn ci riesco...

class es66{
public static void main(String[]args){
int i;
int x;
char w;
w=Leggi.unChar();
i=Leggi.unInt();
x=Leggi.unInt();
for (i=i-1; i>=0; i=i-1){
for( x=x-1; x>=0; x=x-1)
System.out.print(w);
System.out.println();
}
}
}


con questo mi stamapa solo una riga...:muro:


Penso che sia normale......guarda cosa fai alle variabili i e x nei cicli for.

michelev83
07-07-2004, 18:05
si am l eserciozo dice che le dimeensioni della tabella devo darle vda tastiera...:muro:


poi avrei questo esercizio...
Scrivete un programma che visualizza il seguente quadrato usando due cicli annidati:

12345678
23456781
34567812
45678123
56781234
67812345
78123456
81234567

questo e quello che fa la tabbella 12345678 ripetuto...:
class es71{
public static void main(String[]args){
int i;
int x;




for (i=1; i<=8; i=i+1){
for( x=1; x<=8; x=x+1)
System.out.print(i);
System.out.println();

}
}
}

end.is.forever
07-07-2004, 19:12
Originariamente inviato da michelev83
devo fare stampare una tabella di i righe e x colonne

solo che nn ci riesco...

class es66{
public static void main(String[]args){
int i;
int x;
char w;
w=Leggi.unChar();
i=Leggi.unInt();
x=Leggi.unInt();
for (i=i-1; i>=0; i=i-1){
for( x=x-1; x>=0; x=x-1)
System.out.print(w);
System.out.println();
}
}
}


con questo mi stamapa solo una riga...:muro:


Il tuo errore č che metti nell'assegnamento iniziale di entrambi i for i-1 e x-1
ma alla fine del primo for su i la i vale appunto 0
quindi facendo i = i - 1, i vale -1
stessa cosa per x

Per fare pių chiarezza nei cicli for annidati usa sempre variabili dedicate a fare solo da contatori non variabili definite esternamente, ad esempio:



for ( int y = 0; y < numeroRighe; y++ )
{
for ( int x = 0; x < numeroColonne; x++ )
System.out.print( ... );
System.out.println();
}



Spero di essermi spiegato
ciao.

Mixmar
07-07-2004, 20:05
Originariamente inviato da michelev83
poi avrei questo esercizio...
Scrivete un programma che visualizza il seguente quadrato usando due cicli annidati:

12345678
23456781
34567812
45678123
56781234
67812345
78123456
81234567

questo e quello che fa la tabbella 12345678 ripetuto...:
class es71{
public static void main(String[]args){
int i;
int x;




for (i=1; i<=8; i=i+1){
for( x=1; x<=8; x=x+1)
System.out.print(i);
System.out.println();

}
}
}

Basta che scrivi:



...

for(i = 1; i <= 8; i++) {
for(x = -1; x <= 7; x++) {
System.out.print(((x + i) % 8) + 1);
}
System.out.println();
}



Non mi č venuta una formula pių semplice per la tabella... :what:

michelev83
08-07-2004, 08:42
ok grazie ora provo... grazie