Java - return de dos valores

 
Vista:

return de dos valores

Publicado por jose (1 intervención) el 26/11/2013 11:34:10
¿como puedo hacer que una función devuelva 2 valores?

Lo he intentado con un array pero algo falla en este método que no funciona correctamente.
*es una función que devuelve el contenido y la posición del mayor de un arras aleatorio

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
@Override
    public String toString() {
        System.out.println(llenar());
        return super.toString();
    }
 
     public vector[] llenar(){
        int[] valores= new int[2];
        int[] arrayA =new int[20];
        int cont = 0;
        int pos = 0;
        for (int i = 1; i < arrayA.length; i++) {
            arrayA[0]= (int)(Math.random()*20 + 1);
            arrayA[i]= (int)(Math.random()*20 + 1);
            if (arrayA[i] > arrayA[i-1]){
                cont=arrayA[i];
                pos=i;
            }
        }
        valores[0]=pos;
        valores[1]=cont;
       return valores[];
}
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 xve
Val: 686
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

return de dos valores

Publicado por xve (345 intervenciones) el 26/11/2013 13:22:50
Hola Jose, esto se puede hacer devolviendo un array, pero hay que esperar tambien un array de valores... mira este ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
public static int[] miFuncion(){
    int number1 = 1;
    int number2 = 2;
    // Devolvemos dos enteros
    return new int[] {number1, number2};
}
 
public static void main(String[] args) {
    // obtenemos el array de valores
    int result[] = miFuncion();
    System.out.println(result[0] + result[1]);
}

Coméntanos si te sirve, ok?
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

return de dos valores

Publicado por Camilo (1 intervención) el 12/02/2018 06:44:28
Tu solución me fue útil. Sí me funcionó. Te lo agradezco.
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

return de dos valores

Publicado por Tom (1831 intervenciones) el 26/11/2013 13:24:28
1
return valores;
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

return de dos valores

Publicado por Carlos (35 intervenciones) el 27/11/2013 00:30:05
Puedes usar para metros out en el método:

1
2
3
4
5
void Calcular(string path, out string dir, out string name) {
 
    dir = valor1;
    name = valor2;
}

Asi puedes retornar el numero de variables que deseas....

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

return de dos valores

Publicado por UnoPorAhi (128 intervenciones) el 27/11/2013 09:20:25
Los metodos con tipos out son de C#. No existen en Java
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

return de dos valores

Publicado por Carlos (35 intervenciones) el 27/11/2013 23:26:58
Que...?

Si existen en java......

Consulta en google.... si existe en java
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

return de dos valores

Publicado por Yohn Timy Lopez (1 intervención) el 15/10/2020 15:33:07
El método que propones funciona, solo que debes devolver solo el nombre del array
return valores[]; por return valores
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