Java - Recibir varias veces un array de un metodo en Java

 
Vista:
sin imagen de perfil

Recibir varias veces un array de un metodo en Java

Publicado por Edorta_Fer (4 intervenciones) el 21/11/2016 09:03:52
Muy buenos dias:
Soy un estudiante de java. Y tengo una gran duda porque esto no funciona. Expondre un ejemplo simple.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public static int[] Recibir(){
    String num1_s;
    String num2_s;
    int[]num=new int[2];
    num1_s=JOptionPane.showInputDialog("Escriba un numero");
    num2_s=JOptionPane.showInputDialog("Escriba otro numero");
    num[0]=  Integer.parseInt(num1_s);
    num[1]=  Integer.parseInt(num2_s);
    return num;
 
        int num1;
        int num2;
        int numeros[]=Recibir();
        num1=numeros[0];
        num2=numeros[1];
         if (num1>num2){
                    JOptionPane.showMessageDialog(null, "Por favor escriba el primer numero menor que el segundo");
                    numeros[]=Recibir();
                    num1=numeros[0];
                    num2=numeros[1];
          }

Y en la segunda llamada a Recibir() directamente me da error.
Espero que me podais ayudar o explicar el porqué.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Lawliet
Val: 308
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Recibir varias veces un array de un metodo en Java

Publicado por Lawliet (303 intervenciones) el 22/11/2016 06:09:54
Hola...

La declaración return siempre va al final de un método de retorno, por lo tanto es correcto tengas errores de compilación en tu método, cambia el lugar de la línea y colócala al final de tu método y verás que ya no tendrás error, tal y como te muestro a continuación...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public static int[] Recibir(){
	String num1_s;
	String num2_s;
	int[]num = new int[2];
	num1_s = JOptionPane.showInputDialog("Escriba un numero");
	num2_s = JOptionPane.showInputDialog("Escriba otro numero");
	num[0] = Integer.parseInt(num1_s);
	num[1] = Integer.parseInt(num2_s);
 
	int num1;
	int num2;
	int numeros[] = Recibir();
	num1 = numeros[0];
	num2 = numeros[1];
	if (num1 > num2) {
		JOptionPane.showMessageDialog(null, "Por favor escriba el primer numero menor que el segundo");
		numeros = Recibir();
		num1=numeros[0];
		num2=numeros[1];
	}
 
	return num;
}

Sin más que comentar, quedamos al pendiente de cualquier duda y/o comentario.

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Recibir varias veces un array de un metodo en Java

Publicado por Edorta (4 intervenciones) el 22/11/2016 08:43:58
Perdoname que igual copie mal el codigo. Y no cierre la función. Gracias de todas formas.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
public static int[] Recibir(){
 
    String num1_s;
 
    String num2_s;
 
    int[]num=new int[2];
 
    num1_s=JOptionPane.showInputDialog("Escriba un numero");
 
    num2_s=JOptionPane.showInputDialog("Escriba otro numero");
 
    num[0]=  Integer.parseInt(num1_s);
 
    num[1]=  Integer.parseInt(num2_s);
 
    return num;
}
 
        int num1;
 
        int num2;
 
        int numeros[]=Recibir();
 
        num1=numeros[0];
 
        num2=numeros[1];
 
         if (num1>num2){
 
                    JOptionPane.showMessageDialog(null, "Por favor escriba el primer numero menor que el segundo");
 
                    numeros[]=Recibir();
 
                    num1=numeros[0];
 
                    num2=numeros[1];
 
          }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Recibir varias veces un array de un metodo en Java

Publicado por Tom (1831 intervenciones) el 22/11/2016 11:00:25
Esto es incorrecto:

numeros[]=Recibir();
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Recibir varias veces un array de un metodo en Java

Publicado por Edorta (4 intervenciones) el 22/11/2016 14:05:46
Pero estoy retornando un array. Es el eterno problema de devolver varios valores de un metodo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Lawliet
Val: 308
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Recibir varias veces un array de un metodo en Java

Publicado por Lawliet (303 intervenciones) el 22/11/2016 19:35:12
Hola...

Se tan amable de copiar de manera correcta el código ya que de esa forma es difícil ayudarte, si observas en el nuevo código "corregido" que copiaste, tienes el método recibir() de manera correcta pero lo demás sale sobrando, eso va en un método diferente o dentro del mismo método. Por lo que veo en tu código, lo único que necesitas es hacer una comparación de números entre mayores y menores mediante el uso de un arreglo, supongo esto es lo que necesitas...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
public static void main(String[] args) {
	validar(Recibir());
}
 
public static int[] Recibir(){
	String num1_s;
	String num2_s;
	int[] num = new int[2];
	num1_s = JOptionPane.showInputDialog("Escriba un numero.");
	num2_s = JOptionPane.showInputDialog("Escriba otro numero.");
	num[0] = Integer.parseInt(num1_s);
	num[1] = Integer.parseInt(num2_s);
 
	return num;
}
 
public static void validar(int[] numeros) {
	int num1;
	int num2;
	num1 = numeros[0];
	num2 = numeros[1];
	if (num1 > num2){
		JOptionPane.showMessageDialog(null, "Primer número mayor que el segundo.");
	} else if (num1 < num2) {
		JOptionPane.showMessageDialog(null, "Segundo número mayor que el primero.");
	} else if (num1 == num2) {
		JOptionPane.showMessageDialog(null, "Ambos números son iguales.");
	}
}

Repito, se tan amable de copiar el código de manera correcta ya que sino es complicado ayudarte además de que especifiques el error que te da en el output, caso contrario tendremos que adivinar el error cuando puede ser algo sumamente sencillo.

Sin más que comentar, quedo al pendiente de cualquier duda y/o comentario.

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Recibir varias veces un array de un metodo en Java

Publicado por Tom (1831 intervenciones) el 23/11/2016 21:49:52
¿ El eterno problema para qué o quién ?
Un array es un objeto.
Así que:
numeros = Recibir();
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar