elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Problema con java
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con java  (Leído 2,396 veces)
MrDev

Desconectado Desconectado

Mensajes: 31


Ver Perfil
Problema con java
« en: 24 Enero 2016, 15:32 pm »

Llevo aqui 3:30 con esto y he probado con StringTokenizer y StringBuffer pero no doy con la tecla, el caso es que deberia leer todo el string y mostrar la cantidad de consonantes y vocales, a ver si me podeis echar una mano...

este es el codigo del main.

Código
  1. package strings;
  2. import java.util.*;
  3. public class main {
  4.  
  5. public static void main(String[] args) {
  6. Scanner entrada = new Scanner(System.in);
  7.  
  8. System.out.println("Introduce un texto");
  9. Cadena miCadena = new Cadena(entrada.next());
  10.  
  11. System.out.println("Esta cadena tiene "+miCadena.getConsonante()+" consonantes y "+miCadena.getVocal()+" vocales.");
  12.  
  13. entrada.close();
  14. }
  15.  
  16. }

Y este es el codigo del objeto, que seria la cadena:

Código
  1. package strings;
  2.  
  3. public class Cadena {
  4. private String cadena;
  5. private int cont, consonante, vocal;
  6.  
  7. public Cadena(String cadena){
  8. for(cont=0;cont<cadena.length();++cont){
  9. if(cadena.charAt(cont) == 'a' || cadena.charAt(cont) == 'e' || cadena.charAt(cont) == 'i' || cadena.charAt(cont) == 'o' || cadena.charAt(cont) == 'u'){
  10. vocal++;
  11. }
  12. else{
  13. consonante++;
  14. }
  15. }
  16. }
  17.  
  18. public int getConsonante(){
  19. return consonante;
  20. }
  21. public int getVocal(){
  22. return vocal;
  23. }
  24. }


« Última modificación: 24 Enero 2016, 15:34 pm por MrDev » En línea

0xFer


Desconectado Desconectado

Mensajes: 400



Ver Perfil
Re: Problema con java
« Respuesta #1 en: 24 Enero 2016, 15:47 pm »

Si quieres leer toda la linea coloca esto donde debe;

Código
  1. entrada.nextLine()

Con next, si ingresas "Hola Mundo" sólo se considera "Hola" el resto se ignora.

En tu código los espacios se cuentan como consonantes y no estás considerando mayúsculas.

Saludos.


« Última modificación: 24 Enero 2016, 15:52 pm por 0xFer » En línea

Código
  1. int getRandomNumber(){
  2.    return 4; //chosen by fair dice roll
  3.              //guaranteed to be random
  4. }
MrDev

Desconectado Desconectado

Mensajes: 31


Ver Perfil
Problema con java
« Respuesta #2 en: 24 Enero 2016, 16:37 pm »

Si quieres leer toda la linea coloca esto donde debe;

Código
  1. entrada.nextLine()

Con next, si ingresas "Hola Mundo" sólo se considera "Hola" el resto se ignora.

En tu código los espacios se cuentan como consonantes y no estás considerando mayúsculas.

Saludos.

Muchas gracias por responder, de verdad.

Gracias por decirme lo del nextLine().

Ya se que no considera las mayusculas, no necesitaba hacerle un .toLowerCase() para leer todo el String.

Y por ultimo, para lo que has dicho sobre que los espacios se cuentan como consonantes, tengo que poner:

Else If(cadena.charAt(cont).isLetter()){...

Pero me da error porque lo considera un boolean ._.


Enviado desde mi iPhone utilizando Tapatalk
En línea

0xFer


Desconectado Desconectado

Mensajes: 400



Ver Perfil
Re: Problema con java
« Respuesta #3 en: 24 Enero 2016, 17:04 pm »

Para saber si es una letra puedes hacer algo como:

Código
  1. char caracter = cadena.charAt(cont);
  2. if(Character.isLetter(caracter)){
  3.    if(esVocal) {
  4.  
  5.    }
  6.    else{
  7.  
  8.    }
  9. }

Citar
Else If(cadena.charAt(cont).isLetter()){

charAt devuelve un char( un tipo primitivo), no un objeto de alguna clase, y por lo tanto no tiene métodos.

Saludos.
« Última modificación: 24 Enero 2016, 17:12 pm por 0xFer » En línea

Código
  1. int getRandomNumber(){
  2.    return 4; //chosen by fair dice roll
  3.              //guaranteed to be random
  4. }
MrDev

Desconectado Desconectado

Mensajes: 31


Ver Perfil
Re: Problema con java
« Respuesta #4 en: 24 Enero 2016, 17:22 pm »

vale, entonces el Character va a parte, yo pensaba que donde Character debia poner entrada, pero no es asi, gracias por resolver la duda.
En línea

0xFer


Desconectado Desconectado

Mensajes: 400



Ver Perfil
Re: Problema con java
« Respuesta #5 en: 24 Enero 2016, 17:28 pm »

De nada  ;D

Saludos.
En línea

Código
  1. int getRandomNumber(){
  2.    return 4; //chosen by fair dice roll
  3.              //guaranteed to be random
  4. }
MrDev

Desconectado Desconectado

Mensajes: 31


Ver Perfil
Re: Problema con java
« Respuesta #6 en: 24 Enero 2016, 20:23 pm »

Si me permiten poner la solucion final para el que le pueda ser util:

metodo main:
Código
  1. package strings;
  2. import java.util.*;
  3. public class main {
  4.  
  5. public static void main(String[] args) {
  6. Scanner entrada = new Scanner(System.in);
  7.  
  8. System.out.println("Introduce un texto");
  9. Cadena miCadena = new Cadena(entrada.nextLine());
  10.  
  11. System.out.println("Esta cadena tiene "+miCadena.getConsonante()+" consonantes y "+miCadena.getVocal()+" vocales.");
  12.  
  13. entrada.close();
  14. }
  15.  
  16. }
  17.  

clase Cadena:
Código
  1. package strings;
  2.  
  3. public class Cadena {
  4. private int cont, consonante, vocal;
  5. char caracter;
  6.  
  7. public Cadena(String cadena){
  8. for(cont=0;cont<cadena.length();++cont){
  9. caracter = cadena.charAt(cont);
  10. if(Character.isLetter(caracter)){
  11. if(caracter == 'a' || caracter == 'e' || caracter == 'i' || caracter == 'o' || caracter == 'u' ){
  12. vocal++;
  13. }
  14. else{
  15. consonante++;
  16. }
  17. }
  18. }
  19. }
  20.  
  21. public int getConsonante(){
  22. return consonante;
  23. }
  24. public int getVocal(){
  25. return vocal;
  26. }
  27. }
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
problema en java
Java
mitsumy 2 2,393 Último mensaje 16 Enero 2007, 16:27 pm
por mitsumy
Problema con java
Java
ZeroneR 3 2,720 Último mensaje 9 Noviembre 2008, 20:46 pm
por ZeroneR
Problema en Java
Java
Cooltan 0 1,774 Último mensaje 31 Marzo 2011, 12:51 pm
por Cooltan
Problema con Java
Java
Tuplado 0 1,303 Último mensaje 16 Octubre 2012, 00:16 am
por Tuplado
[AYUDA][Problema] Cargar imagenes en Java (soy nuevo en Java)
Java
Noxware 3 3,763 Último mensaje 14 Septiembre 2014, 19:39 pm
por Noxware
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines