Contar vocales y consonantes

   En esta entrada quiero explicar como usar el if y else, y como también me preguntaron como contar vocales sin hacer las cosas complicadas, pues aquí esta a punta de "if & else" (aunque lo veo más complicado así)

import javax.swing.*;

class Simulador{
public static void main (String [] args) {
int TAMAÑO,C_LETRAS,CONSONANTE=0,VOCAL=0,ACENTO=0,
HIATO=0,DIPTONGO=0,POS=0;
String TEXTO,MENSAJE,OP_H="",OP_D="",LETRA_T="";
TEXTO=JOptionPane.showInputDialog(null,"Simulador",
"Ingrese una palabra sin espacios.",JOptionPane.INFORMATION_MESSAGE);
TEXTO.toLowerCase();
TAMAÑO=TEXTO.length();
C_LETRAS=TAMAÑO+1;
if (TEXTO.equals("")) {
JOptionPane.showMessageDialog(null,"Debe escribir alguna palabra sin espacios",
"Error...!!!",JOptionPane.ERROR_MESSAGE);
main(null);
} else {
for (int i=0; i<TAMAÑO; i++) {
if (TEXTO.charAt(i)==' ') {
JOptionPane.showMessageDialog(null,"Solo debe escribir una palabra sin espacio alguno",
"Error...!!!",JOptionPane.ERROR_MESSAGE);
main(null);
}if(TEXTO.charAt(i)=='á'){
VOCAL=VOCAL+1;
ACENTO=ACENTO+1;
LETRA_T=LETRA_T+"A";
POS=i-1;
}else if(TEXTO.charAt(i)=='é'){
VOCAL=VOCAL+1;
ACENTO=ACENTO+1;
LETRA_T=LETRA_T+"E";
POS=i-1;
}else if(TEXTO.charAt(i)=='í'){
VOCAL=VOCAL+1;
ACENTO=ACENTO+1;
LETRA_T=LETRA_T+"I";
POS=i-1;
}else if(TEXTO.charAt(i)=='ó'){
VOCAL=VOCAL+1;
ACENTO=ACENTO+1;
LETRA_T=LETRA_T+"O";
POS=i-1;
}else if(TEXTO.charAt(i)=='ú'){
VOCAL=VOCAL+1;
ACENTO=ACENTO+1;
LETRA_T=LETRA_T+"U";
POS=i-1;
}if (ACENTO>1) {
JOptionPane.showMessageDialog(null,"Ha escrito 2 acentos",
"Error...!!!",JOptionPane.ERROR_MESSAGE);
main(null);
}if(TEXTO.charAt(i)=='a'||TEXTO.charAt(i)=='e'||
TEXTO.charAt(i)=='i'||TEXTO.charAt(i)=='o'||
TEXTO.charAt(i)=='u'){
VOCAL=VOCAL+1;
}
}
}
if (TEXTO.indexOf("ae")>-1){
HIATO=HIATO+1;
}if (TEXTO.indexOf("ao")>-1){
HIATO=HIATO+1;
}if (TEXTO.indexOf("ea")>-1){
HIATO=HIATO+1;
}if (TEXTO.indexOf("eo")>-1){
HIATO=HIATO+1;
}if (TEXTO.indexOf("oa")>-1){
HIATO=HIATO+1;
}if (TEXTO.indexOf("oe")>-1){
HIATO=HIATO+1;
}if (TEXTO.indexOf("aé")>-1){
HIATO=HIATO+1;
}if (TEXTO.indexOf("aó")>-1){
HIATO=HIATO+1;
}if (TEXTO.indexOf("eá")>-1){
HIATO=HIATO+1;
}if (TEXTO.indexOf("eó")>-1){
HIATO=HIATO+1;
}if (TEXTO.indexOf("oá")>-1){
HIATO=HIATO+1;
}if (TEXTO.indexOf("oé")>-1){
HIATO=HIATO+1;
}if (TEXTO.indexOf("áe")>-1){
HIATO=HIATO+1;
}if (TEXTO.indexOf("áo")>-1){
HIATO=HIATO+1;
}if (TEXTO.indexOf("éa")>-1){
HIATO=HIATO+1;
}if (TEXTO.indexOf("éo")>-1){
HIATO=HIATO+1;
}if (TEXTO.indexOf("óa")>-1){
HIATO=HIATO+1;
}if (TEXTO.indexOf("óe")>-1){
HIATO=HIATO+1;
}if (TEXTO.indexOf("áé")>-1){
HIATO=HIATO+1;
}if (TEXTO.indexOf("éó")>-1){
HIATO=HIATO+1;
}if (TEXTO.indexOf("éá")>-1){
HIATO=HIATO+1;
}if (TEXTO.indexOf("éó")>-1){
HIATO=HIATO+1;
}if (TEXTO.indexOf("óá")>-1){
HIATO=HIATO+1;
}if (TEXTO.indexOf("óé")>-1){
HIATO=HIATO+1;
}if (TEXTO.indexOf("iu")>-1){
DIPTONGO=DIPTONGO+1;
}if (TEXTO.indexOf("ui")>-1){
DIPTONGO=DIPTONGO+1;
}if (TEXTO.indexOf("iú")>-1){
DIPTONGO=DIPTONGO+1;
}if (TEXTO.indexOf("uí")>-1){
DIPTONGO=DIPTONGO+1;
}if (TEXTO.indexOf("íu")>-1){
DIPTONGO=DIPTONGO+1;
}if (TEXTO.indexOf("úi")>-1){
DIPTONGO=DIPTONGO+1;
}if (TEXTO.indexOf("íú")>-1){
DIPTONGO=DIPTONGO+1;
}if (TEXTO.indexOf("úí")>-1){
DIPTONGO=DIPTONGO+1;
}if (HIATO>=1){
OP_H="SI";
}if (HIATO<=0){
OP_H="NO";
}if (DIPTONGO>=1){
OP_D="SI";
}if (DIPTONGO<=0){
OP_D="NO";
}if (LETRA_T.equals("")){
LETRA_T="N/A";
}CONSONANTE=TAMAÑO-VOCAL;
JOptionPane.showMessageDialog(null,"Número de letras: "+TAMAÑO+
"nCantidad de Consonantes: "+CONSONANTE+
"nCantidad de Vocales: "+VOCAL+
"nPosee Diptongo: "+OP_D+
"nCantidad de Diptongos: "+DIPTONGO+
"nPosee Hiato: "+OP_H+
"nCantidad de Hiatos: "+HIATO+
"nLetra con tílde: "+LETRA_T+
"nPosición de la tilde: "+POS,"",JOptionPane.INFORMATION_MESSAGE);
}

public static void menu(){
int op=JOptionPane.showConfirmDialog(null,
"¿Desea Salir del Programa?", "¿Salir?", JOptionPane.YES_NO_OPTION);
if (op==1)
main(null);
else
System.exit(0);
}
}

1 Comentarios:

Escribir Comentario
Anónimo
AUTOR
6 de abril de 2014, 14:36 delete

Gracias, me ayudó mucho.
NT: trata de ordenar un poco, pero por lo demás, es un programa muy bien hecho.

Responder
avatar

Lamentablemente hay muchos usuarios en la red que han llegado al blog para escribir obscenidades, así que la moderación se hace necesaria. Recuerda utilizar un lenguaje correcto y espera a que sea aprobado.

Si necesitas publicar código haz click en "Conversión" para hacerlo legible.
ConversiónConversión EmoticonEmoticon