Java - Contar cuantas veces se repite cada numero

   
Vista:

Contar cuantas veces se repite cada numero

Publicado por Pachy (1 intervención) el 22/12/2009 01:24:58
Hola! estoy haciendo un pequeño programa que me cuenta cuantas veces se repite cada numero dentro de una matriz, hasta ahora tengo esto, pero tiene el error de que si un numero esta repetido 4 veces en una matriz me imprime 4 veces que el numero esta 4 veces,entiendo que tengo que crear un arreglo para que vaya guardando los valores ya contados y asi evitar que se cuente de nuevo

for(int i1=0; i1<numero1; i1++)
{

for(int j1=0; j1<2;j1++)
{
valor =numeros[i1][j1];
c =0;

for(int i2=0; i2<numero1; i2++)
{
for(int j2=0; j2<2;j2++)
{
if(valor==numeros[i2][j2])
{
c++;
}
}
}

resultado1= valor;
System.out.println("El numero"+" "+resultado1+" "+"se repite"+" "+c+"veces");

}

}

Gracias
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

RE:Contar cuantas veces se repite cada numero

Publicado por jack (18 intervenciones) el 22/12/2009 06:13:47
hola Pachy
primero que todo te quiero recomendar poner todo el codigo de tu aplicacion asi es mas facil ayudar puesto que no se entiende por que falta la definicion de algunas variables (el caso de la variable numero1 en el primer ciclo for)

respecto a mi ayuda te dire que me tome la molestia de hacer una clase tal vez sea lo que necesitas o almenos te ayudara a ver como solucionar el problema aca te dejo el codigo, es algo simple pero lo puedes adaptar a lo que necesites

tambien te dejo mi correo y msn por si tienes mas dudas
mi msn y correo es jack@linuxmail.org


import java.util.ArrayList;
import java.util.Arrays;

public class Main {

static int [][] matriz = new int[2][5];
static int [] union ;
static ArrayList matriz2 = new ArrayList();
static ArrayList cantidad = new ArrayList();

public Main()
{
matriz [0][0] = 2;matriz [0][1] = 5;matriz [0][2] = 5;matriz [0][3] = 2;matriz [0][4] = 5;
matriz [1][0] = 1;matriz [1][1] =3;matriz [1][2] = 5;matriz [1][3] = 4;matriz [1][4] = 2;

union = new int[10];

//unimos la matriz en un solo array que contendra todos los valores
int a=0;
for(int i=0; i<matriz.length;i++)
{

for(int j=0;j<matriz[0].length;j++)
{

union[a]=matriz[i][j];
a++;
}

}
}




public static void separar()//con este metodo tomamos todos cada numero una vez
{

Arrays.sort(union);
matriz2.add(union[0]);


for(int i=0;i<union.length-1;i++)
{
if(union[i]!=union[i+1])
{
matriz2.add(union[i+1]);

}

}

}

public static void contar()//este metodo cuenta cuantas veces esta cada numero
{
for(int j=0;j<matriz2.size();j++)
{
int cantida=0;
for(int i=0;i<union.length;i++)
{
int a = Integer.parseInt(matriz2.get(j).toString());
if(a==union[i])
{
cantida++;
}

}
cantidad.add(cantida);
}
}



public static void main(String args [])
{
new Main();
contar();
for(int i=0;i<matriz2.size();i++)
{
System.out.println("el numero "+matriz2.get(i)+" se repite "+cantidad.get(i));
}
}

}
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