Java - Retornar valores de un vector

   
Vista:
Imágen de perfil de Oscar

Retornar valores de un vector

Publicado por Oscar (1 intervención) el 17/05/2014 03:54:38
Buenas, tengo un error al arrancar el siguiente codigo y no se como solucionarlo, me podrian ayudar?
El codigo es el siguiente (Necesito que retorne el valor de esa posicion del vector)
/*Elabore un programa que permita capturar N números desde teclado y almacenarlos en un array,
y que guarde en dos nuevos arrays los valores pares e impares respectivamente contenidos en el
array inicial.*/
import java.io.*;
public class Ejercicio5
{
static int num;
int datos[],pares[],impares[];

public Ejercicio5() throws IOException
{
captura();

System.out.println("Los numeros pares son ");
pares=new int[num];
for(int i=0;i<num;i++)
{
pares[i]=Pares(num);
System.out.println(pares[i]);
}

System.out.println("Los numeros impares son ");
impares=new int[num];
for(int i=0;i<num;i++)
{
impares[i]=Impares(num);
System.out.println(impares[i]);
}

}

public void captura() throws IOException
{
InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(isr);

System.out.println("Ingrese el numero de datos a ingresar");
do{
num=Integer.parseInt(br.readLine());
if(num<0)
{
System.out.println("Debe escribir un numero positivo");
}
}while(num<0);

datos=new int[num];

for(int i=0;i<num;i++)
{
System.out.println("Ingrese el valor para la posicion ["+i+"]");
datos[i]=Integer.parseInt(br.readLine());
}
System.out.println("Los datos del Array son ");
for(int i=0;i<num;i++)
{
System.out.print(datos[i]+"|");
}
}

public int Pares(int num)
{
for(int i=0;i<num;i++)
{
if(datos[i]%2==0)
{
return datos[i];
}
}

}

public int Impares(int num)
{
int acu=0;

for(int i=0;i<num;i++)
{
if(datos[i]%2!=0)
{
return datos[i];
}
}
}

public static void main(String[] args) throws IOException
{
new Ejercicio5();
}

}
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 Jhonnathan Emilio Cardona Saineda

Retornar valores de un vector

Publicado por Jhonnathan Emilio Cardona Saineda (328 intervenciones) el 19/05/2014 18:26:39
Hola,
Está mal estructurado.
en el método Pares (.. deberías retornar todo un vector y no solo una posición, así cada vez que encuentras un par o impar lo almacenas en un vector correspondiente y retornas ese vector. Algo como:
1
2
3
4
5
6
7
8
9
public String[] Pares(int num) {
		String pares="";
		for (int i = 0; i < num; i++) {
			if (datos[i] % 2 == 0) {
				pares+= datos[i]+"-";
			}
		}
		return pares.split("-");
	}

En el constructor
1
2
3
4
System.out.println("Los numeros pares son ");
		for(String v:Pares(4)){
			System.out.println(v+"-");
		}
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