Java - necesito ayuda en un programa de java

 
Vista:
sin imagen de perfil
Val: 4
Ha aumentado su posición en 8 puestos en Java (en relación al último mes)
Gráfica de Java

necesito ayuda en un programa de java

Publicado por raul (2 intervenciones) el 04/06/2019 00:48:03
Hola necesito ayuda en este codigo lo que se pide por teclado son una serie de letras y lo que se desea como resultado es saber cuantas letras hay repetidas

por ejemplo si introduzco esto: dcedd

el resultado deberia ser asi:
d se repite 3
c se repite 1
e se repite 1

pero lo que consigo como resultado es:
d se repite 3
e se repite 1
c se repite 1
d se repite 3
d se repite 3

agradeceria mucho su ayuda
AQUI LES DEJO MI CODIGO

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
41
42
43
44
45
46
47
48
49
package javaapplication40;
 
import java.util.Scanner;
 
/**
*
* @author l
*/
public class JavaApplication40 {
 
/**
* @param args the command line arguments
*/
 
static boolean numero(String num){
for(int i =0;i<list.length;i++){
if(list.equals(num)){
return false;
}
}
return true;
}
static String list [];
public static Scanner s = new Scanner(System.in);
public static void main(String[] args) {
 
System.out.println("ingrese la letra");
String cadena = s.nextLine();
String x[]=cadena.split("");
list= new String[x.length];
 
for(int i =0;i<x.length;i++){
int contador=0;
for(int j =0;j<x.length;j++){
if(x[i].equals(x[j])){
contador++;
if(numero(x[i])){
list[i]=x[i];
}
}
}
if(!list[i].equals("")){
System.out.println(list[i] + " se repite " + contador);
}
}
 
}
 
}
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
sin imagen de perfil
Val: 203
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

necesito ayuda en un programa de java

Publicado por Jose Andres (27 intervenciones) el 04/06/2019 02:16:49
Saludos, si unicamente tienes que imprimir el numero de veces que se repite lo puedes hacer mas eficientemente si no almacenas las letras que se repiten y lo imprimes directamente dentro del for, aqui el codigo de como lo haria yo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public void Contar(String Palabra) {
    String[] Letras = Palabra.split("");
    Arrays.sort(Letras);
    int Contador = 0;
    String LT = Letras[0];
    for (String L : Letras) {
        if (LT.equals(L)) {
            Contador++;
        } else {
            System.out.println(LT + " se repite " + Contador);
            Contador = 1;
            LT = L;
        }
    }
    System.out.println(LT + " se repite " + Contador);
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 4
Ha aumentado su posición en 8 puestos en Java (en relación al último mes)
Gráfica de Java

necesito ayuda en un programa de java

Publicado por raul (2 intervenciones) el 04/06/2019 02:30:47
muchas gracias amigo
me fue de gran ayuda tu codigo

una cerveza para usted
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