Fabietto206
04-09-2007, 14:10
Ecco qui un mio programmino:
import prog.io.*;
public class Godel{
public static void main (String[]args){
//predisposizione canali di comunicazione
ConsoleInputManager in=new ConsoleInputManager();
ConsoleOutputManager out=new ConsoleOutputManager();
do{
//lettura M
int x=in.readInt("Inserisci un numero M: ");
//controllo validità numero
while (x<0)
x= in.readInt("Il numero deve essere positivo, ripeti inserimento: ");
//lettura N
int y=in.readInt("Inserisci un numero N: ");
//controllo validità numero
while (y<0)
y= in.readInt("Il numero deve essere positivo, ripeti inserimento: ");
//calcolo cammino di Godel
int funz= g(x,y);
//visualizzazione risultato
out.println("Il valore del cammino di Godel di G("+x+","+y+") è: " + funz);
//chiede all'utente se intende effettuare un altro inserimento
int continua=in.readInt("Vuoi proseguire (1=Si o 2=No)? ");
}while(continua==1);
}
//metodo ricorsivo
public static int g(int m, int n){
if (m==0 || n==0)
return 1;
else
return g(m-1,n) +g(m,n-1) +g(m-1,n-1);
}
}
In fase di compilazione mi da un errore qui: }while(continua==1); qualcuno sa dirmi il xkè? e cosa dovrei fare x sistemarlo?
Grazie mille
import prog.io.*;
public class Godel{
public static void main (String[]args){
//predisposizione canali di comunicazione
ConsoleInputManager in=new ConsoleInputManager();
ConsoleOutputManager out=new ConsoleOutputManager();
do{
//lettura M
int x=in.readInt("Inserisci un numero M: ");
//controllo validità numero
while (x<0)
x= in.readInt("Il numero deve essere positivo, ripeti inserimento: ");
//lettura N
int y=in.readInt("Inserisci un numero N: ");
//controllo validità numero
while (y<0)
y= in.readInt("Il numero deve essere positivo, ripeti inserimento: ");
//calcolo cammino di Godel
int funz= g(x,y);
//visualizzazione risultato
out.println("Il valore del cammino di Godel di G("+x+","+y+") è: " + funz);
//chiede all'utente se intende effettuare un altro inserimento
int continua=in.readInt("Vuoi proseguire (1=Si o 2=No)? ");
}while(continua==1);
}
//metodo ricorsivo
public static int g(int m, int n){
if (m==0 || n==0)
return 1;
else
return g(m-1,n) +g(m,n-1) +g(m-1,n-1);
}
}
In fase di compilazione mi da un errore qui: }while(continua==1); qualcuno sa dirmi il xkè? e cosa dovrei fare x sistemarlo?
Grazie mille