metodos

liquid
23 de Noviembre del 2005
Hola, estoy empezando a programar y me han mandado hacer un programa que incluye metodos.

Os pondre uno de mis problemas por si alguien me puede ayudar:

public static void generar (int C,int F)
{

Random RanGen = new Random();
int x=RanGen.nextInt(C);
int y=RanGen.nextInt(F);
int d=RanGen.nextInt(2);

}

Quiero hacer un metodo que me genere unas cordenadas (x,y) i una tercera que es direccion de desplazamiento (d). Si estas coordenadas las necesito en el main, como las llamo?? tengo k poner return?? Nose como se ace u_U

Haver si alguien me puede ayudar.

julian
23 de Noviembre del 2005
hola como va?
bueno supongamos que tengo un metodo

public int getNumber(){
return 10;
}

desde main o cualquier otro lugar,,
recuperas el valor asi
int number = getNumber();

ahora bien. segun lo que veo necesitas 3 valores.
un metodo retorna solo uno.
entonces tenes varias opciones
una es crear una clase
con las variables x,y,d
y que el metodo retorne esa clase ya cargada con sus datos
otra posibilidad seria hacer 3 metodos... uno para cada variable
si todavia no tenes en claro como usar metodos te aconsejo que empieces con la segunda opcion.

recorda que para hacer el return al metodo
primero tenes que declararlo con el tipo
es decir.
en tu ejemplo declaraste
public static void generar (int C,int F)
el void significa que no retorna nada.
tendrias que cambiar ese void por el tipo de datos que hagas el return
y otra cosa es que en tu ejemplo lo tenes como static. lo cual se llamaria perfectamente del main. pero en el caso de no ser static tendrias que inicializar la clase antes de llamar al metodo
ej:
NombreClase clase = new NombreClase();
clase.generar(0,0);

espero que te sirva de algo :p. Saludos

liquid
23 de Noviembre del 2005
Uf.. vale, mirare de crear 3 metodos aver que tal va, supongo k no me dara problemas.

Otra duda, si en el main creamos una tabla, i luego acemos un metodo que kiera mostrar esa tabla, como se haria? En teoria no existe tal tabla en ese metodo no?

Gracias de antemano.

Liquid
23 de Noviembre del 2005
Hola, ya e resuelto como poder llamar a la tabla dentro de un metodo.

Ahora me ha surgido otra duda. SI queremos un metodo que nos entre en la tabla, nos haga unas modificaciones, y nos devuelva la tabla modificada, sera correcto esto?

Metodo: (la tabla se llama pc, i el metodo colocar)

public static char colocar (boolean rep,int tamany,int x,int y,int d,char pc [][])
{
...
return pc;
}

Llamar al metodo:

pc = colocar(rep,4,x,y,d,pc);

Que es lo que hago mal?? Gracias

julian
23 de Noviembre del 2005
mira.. java es un lenguaje orientado a objetos.. y la logica seria que esta
tabla sea un objeto. por eso se te va a dificultar mas hacer metodos de esta manera.
ahora bien..
a simple vista lo que veo es lo siguiente
pc es un char[][]
pero colocar retorna char
fijate de definir el metodo para que retorne un char[][]
o sea..
public static char[][] colocar (...............)