
Algunos nos habéis pedido saber como podemos contar las vocales de una palabra con Java. Así que pongámonos manos a la obra.
Lo primero, la palabra… algo sencillo… una String
String sPalabra ="murcielago";
Ahora definiremos un contador, el cual lleve la cuenta de las vocales de la palabra:
int contador = 0;
Solo nos quedará recorrer la palabra, mediante un bucle for y controlando el tamaño de la palabra mediante el método .length()
for(int x=0;x<sPalabra.length();x++) { ... }
En cada iteracción, el método .charAt() nos devolverá el carácter de la posición que estamos recorriendo. Así que comprobaremos si dicho carácter es una de las vocales (a, e, i, o, u).
for(int x=0;x<sPalabra.length();x++) { if ((sPalabra.charAt(x)=='a') || (sPalabra.charAt(x)=='e') || (sPalabra.charAt(x)=='i') || (sPalabra.charAt(x)=='o') || (sPalabra.charAt(x)=='u')){ contador++; } }
Ya solo nos quedará volcar el valor del contador.
System.out.println("La palabra " + sPalabra + "contiene " + contador + " vocales");
Flor
Me pueden ayudar a coregir este error: Exception in thread «main» java.lang.RuntimeException: Uncompilable code – bad operand types for binary operator ‘!=’ first type: int second type: java.lang.String import javax.swing.JOptionPane;public class dialogoletras { public static void main(String[] args) { String letra, animal; letra= JOptionPane.showInputDialog(null,»ingresa una letra de la A a la Z»); // System.out.print(«\n La letra que elegiste es:\n»+letra); if (JOptionPane.OK_OPTION ==letra){ System.out.println(«No selecciona una opción afirmativa»); } else{ System.out.print(«\n la letra que elegiste es\n»+letra+»\t»); } int numero=JOptionPane.showConfirmDialog(null,»El numero que elegiste es?»); if (JOptionPane.OK_OPTION == numero){ System.out.print(«\n el numero que elegiste es\n»+numero+»\t»); } else{ System.out.println(«No selecciona una opción afirmativa»); } animal = JOptionPane.showInputDialog(«ingresa el nombre de un animal»); System.out.print(«\n el nombre del animal es:\n»+animal+»\t»); } }
katherine
) Realizar un programa para que lea una frase y cuando encuentre un correo lo reemplace por xxxxxx
ayuda plis
Víctor Cuervo
Hola Katherine,
La idea es que utilices el método .replaceAll de la clase String. Lo tienes explicado en el artículo Reemplazar contenido con Java.
Espero que te ayude.
Saludos.
juan
porque no ejecuta el if.?
package color;
import java.awt.Color;
import java.awt.Font;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
public class letras {
public static void main(String[] args) {
Object name;
// TODO Auto-generated method stub
String name1 = JOptionPane.showInputDialog(«Ingresa tu nombre: «);
JOptionPane.showConfirmDialog(null, «TU NOMBRE ES: «+name1);
String a = null;
String e = null;
String i = null;
String o = null;
String u = null;
if (name1 == a){
System.out.print(«Tu nombre contiene la vocal» + a);
if (name1 == e){
System.out.print(«Tu nombre contiene la vocal» + e);
if (name1 == i){
System.out.print(«Tu nombre contiene la vocal» + i);
if (name1 == o){
System.out.print(«Tu nombre contiene la vocal» + o);
if (name1 == u){
System.out.print(«Tu nombre contiene la vocal» + u);
}
}
}
}
// System.out.print(«Tu nombre contiene la vocal» + a);
// System.out.print(«Tu nombre contiene la vocal» + e);
// System.out.print(«Tu nombre contiene la vocal» + i);
//System.out.print(«Tu nombre contiene la vocal» + o);
//System.out.print(«Tu nombre contiene la vocal» + u);
}
else {
}
}
}
Víctor Cuervo
Buenas Juan,
El tema es que comparas el texto introducido y las vocales con ==. La idea es que sobre la cadena busques si contiene la letra. En este caso te recomiendo que uses el método .indexOf()
Que te dará un valor mayor de 0 si contiene la letra ‘a’. Así que solo tienes que modificar los if de esa manera.
Saludos.
carmen
Realizar un programa en Java que lea un número entero por
el teclado e imprima todos los números impares menores que él
aris jimenez
hola me ayudas con este problema por favor
escriba un programa que pida una palabra y que me diga la cantidad de vocales tiene.
Juan
Hola y como se podria hacer el codigo para que no cuente las vocales repetidas?
OdioJava
Vale lo tengo muchas gracias por tu ayuda me ha servido de mucho.
Víctor Cuervo
Me alegro que te haya servido. Espero que ahora odies un poco menos el Java. :-D
OdioJava
Necesito ayuda en este programa necesito que pida que el usuario escriba una frase, y al escribir que cuente automaticamente su longitud y las vocales.
PD: Tengo esto.
Víctor Cuervo
Buenas,
Aunque odies Java ;-) te paso el código corregido. Tenias un método que debería de ser .toUpperCase() para convertirlo en mayúsculas y el .charat() lo tenías mal colocado. Te quedaría el código así:
OdioJava
Ostia muchas gracias no sabes del apuro que me acabas de sacar, ahora me falta en el segundo for me falla y no me acaba de calcular bien la longitud de la frase que introduzco no me la calcula bien, no se como puedo llegar a solucionarlo.
Gracias
Víctor Cuervo
La longitud de la frase la tienes ya con el frase.length();
Simplemente escribe
Y ya lo verás por pantalla. No tienes que recorrer con el for.
Saludos.
OdioJava
Vale lo tengo muchas gracias por tu ayuda me ha servido de mucho.
Daniel
como se utilizaría para que en veces de reconocer las vocales reconozca una palabras completa por ejemplo: reconocimiento de palabras completas en java.
El cual tengamos las palabras almacenadas palabras, java, reconocimiento.
bayron daniel
necesito que alguien me ayude con la linea de código de este programa Realizar un programa en java, que solicite el ingreso de una frase o texto, y a partir del mismo cuente las vocales abiertas y vocales cerradas con las que cuenta. Asi mismo, cuantas a, e, i, o y u según su clasificación. Se aclara que para el desarrollo del programa se debe usar bucles.
Víctor Cuervo
Al final hemos creado un artículo contando cómo hacerlo y lo tienes en http://lineadecodigo.com/java/vocales-abiertas-y-cerradas-con-java/ espero que te ayude.
Saludos.
erick
realizar un programa que si al ingresar una tecla indique si es numero, o consonante o vocal
Víctor Cuervo
Hemos creado un artículo explicando como hacerlo en http://lineadecodigo.com/java/numero-consonante-o-vocal-en-java/
Espero que sea de utilidad.
Saludos
Roberto
Hola queria saber como puedo hacer que mi código me diga cuantas silabas tiene una palabra o cadena
import java.util. Scanner;
public class Metodo {
private Scanner teclado;
private String Palabra;
private int NCarac;
public void Inicializar (){
teclado=new Scanner (System.in) ;
System.out.println(«Ingrese el primer numero:»);
Palabra=teclado.next();
}
public void Largo(){
int NCarac=Palabra.length();
System.out.println(«La palabra » + Palabra + » tiene » + NCarac + » caracteres \n»);
}
public void VocalConsonante(){
NCarac=Palabra.length();
int ContV=0,ContC=0,t,cont=0;
while (cont<NCarac){
char Car=Palabra.charAt(cont);
if(Car=='a'||Car=='e'||Car=='i'||Car=='o'||Car=='u'||Car=='A'||Car=='E'||Car=='I'||Car=='O'||Car=='U'){
ContV++;
}else{
ContC++;
}cont++;
}
System.out.println("Tiene "+ContV+" vocales");
System.out.println("Tiene "+ContC+" consonantes");
}
}
public static void main (String[]ar){
Metodo Metodo1;
Metodo1=new Metodo();
Metodo1.Inicializar();
Metodo1.Largo();
Metodo1.VocalConsonante();
}
}
Bryan
Hola ocupo ayuda en un programa que lea la cantidad de palabras de un texto. Ademas que lea cuantas vocales tiene por palabra.
Que no sea utilizando un for en el contador de vocales.
VictorManuelDxD
un algoritmo y codificación que muestre la cantidad de vocales que tiene una cadena introducida por el teclado
Alguien me ayuda 😣
Jonathan
como haría esto pero para que en vez de que me detecte las vocales fueran números?
Víctor Cuervo
Claro, solo tienes que cambiar el código de:
E indicar que sean números:
Espero que te sirva.
Saludos.
stuk4
Yo lo hice de esta forma
https://gist.github.com/Stuk4/c0ad52864537bdd50e23
h151
Buenas tardes, me ayudo mucho su codigo
Una pregunta ¿Como puedo hacerle para poder introducir cualquier palabra?
Víctor Cuervo
Puedes pedir la palabra por consola. El ejemplo que te enseña cómo pedir una palabra por consola es http://lineadecodigo.com/java/lectura-de-datos-en-java-con-scanner/
Si juntas los dos tendrás tu programa montado.
Espero que esto te ayude.
Saludos.
manuela alvarez
necesito un programa que me diga si un correo electronico es valido para ser valido debe tener @ . y empezar por vocal
Teo GR-10
Buenos dias
Agradezco si alguien me puede ayudar
como hago para contar las vocales que hay en una matriz de 5X5 donde cada campo de la matriz recibe una letra(no recibe los datos por teclado si no que ya estan definidos en el codigo(se ingresaron «manualmente»))
Agh
Hola que tal, tengo un código en el cual ingreso una cadena y mando llamar un método, que a su vez invoca a otro método que es para obtener el siguiente carácter de una cadena, mi problema es como hago ese método no me esta sirviendo, entonces cómo hago que me de el siguiente caracter, ? espero me puedan ayudar. en seguida está el código.
public class cadena{
static int error;
static char c, car;
static int i;
static String cad = «»;
static Scanner leer = new Scanner(System.in);
public static void ma() {
error = 0;
c = sig();
if (c == ‘(‘) {
error = mb();
if (error == 0) {
c = sig();
if (c == ‘)’) {
error = 0;
} else {
error = 1;
}
} else {
error = 2;
}
}
}
public static int mb() {
error = 0;
c = sig();
if (c == ‘h’) {
return error;
} else {
if (c == ‘(‘) {
error = mb();
if (error == 0) {
c = sig();
if (c == ‘)’) {
System.out.println(«fin de la cadena»);
error = 0;
} else {
error = 1;
}
}
} else {
error = 2;
}
return error;
}
}
private static char sig() {
c = cad.charAt(0);
for (i = 0; i < cad.length(); i++) {
car = cad.charAt(i);
}
return c;
}
public static void main(String[] args) {
System.out.println("Introduzca la cadena");
cad = leer.next();
ma();
}
}
alex
Necesito que me ayuden , debo hacer una aplicación java que cuente las lineas de datos en un archivo txt
Víctor Cuervo
alex, lo tienes resuelto en http://lineadecodigo.com/java/numero-de-lineas-de-un-fichero/ Espero que te sirva.
Saludos.
Albertano Salgado
bro me puedes ayudar tengo que hacer un método que reciba como parámetro una cadena de caracteres y retorne una lista de cuantas a , e ,i ,o ,u hay en la cadena Ejemplo Hola Mundo a=1 e=0 i=0 o=2 u =1;
aqui esta el código me puedes ayudar…
public int CuantasVocales(String Murcielago){
int contador = 0;
for(int x=0;x<Murcielago.length();x++) {
if ((Murcielago.charAt(x)=='a') && (Murcielago.charAt(x)=='e') && (Murcielago.charAt(x)=='i') && (Murcielago.charAt(x)=='o') && (Murcielago.charAt(x)=='u')){
contador = contador + 1;
}// fin del if
}//fin del for
System.out.println("La palabra Murcielago " + "contiene a = " + contador + "contiene e ="+contador+
"contiene i = "+contador + "contiene o = " + contador +"contiene u = " + contador);
return contador ;
}//fin del metodo
Víctor Cuervo
Hola Albertano,
La idea es que crees un array de 5 posiciones donde la primera contenga las vocales ‘a’, la segunda posición las vocales ‘e’,… así hasta la ‘u’. El método sería:
Ya solo te quedaría invocar al método y recorrer el array para saber el resultado:
Espero que te sirva.
Saludos.
Gisela
como podría hacerlo pero para una frase, por ejemplo: son n palabras pero necesito eliminar las vocales de la primera palabra o de la que el usuario elija. Me ayudan porfa!!
Víctor Cuervo
Hola Gisela,
En el ejemplo de contar palabras con Java http://lineadecodigo.com/java/contar-palabras-en-java/ puedes ver como acceder a las palabras. Luego con cada una y el código explicado en este artículo puedes eliminar las vocales de la palabra que necesites.
Espero haberte orientado.
Saludos.
Luxray
Y si me piden imprimir la primer consonante de una palabra que el usuario ingrese??
Víctor Cuervo
Hola Luxray,
Tienes explicado como contar las consonantes en http://lineadecodigo.com/java/contar-las-consonantes-de-una-palabra-con-java/
De ese ejemplo puedes sacar fácilmente como mostrar la primera consonante.
Saludos.
Víctor Cuervo
@cris, solo haría falta que cambiases el contenido de la variable sPalabra y pusieses la oración.
sPalabra = «las palabras esas»;
cris
¿y si fuera contar las vocales en una oración? pero que en cada palabra sí o si termine en s
GJHOND
como seria?
GJHOND
y si fuera una COLA de caracteres, por ejemplo esta:
char Cola[]={‘H’, ‘I’, ‘P’, ‘E’, ‘R’, ‘B’, ‘L’, ‘A’, ‘N’, ‘D’, ‘U’, ‘Z’, ‘C’, ‘O’, ‘S’};
peter uchiha
genialme salvaron buena pagin pero quisiera saber si tambien en este mismo programa se puede saber a parte de que vocales tiene saber cuales son se los agradeceria si me dijeran como hacerle en fin gracias por el esfuerzo
Víctor Cuervo
Gracias por la respuesta @Fernando.
Fernando
String palabras[] = textArea.getText().split(» «);
String z=»»;
for(int i=0; i<palabras.length;i++){
int t = palabras[i].length();
for(int j=0; j<t; j++){
if(palabras[i].charAt(j)!='a'&&palabras[i].charAt(j)!='e'&&palabras[i].charAt(j)!='i'&&palabras[i].charAt(j)!='o'&&
palabras[i].charAt(j)!='u'&&palabras[i].charAt(j)!='A'&&palabras[i].charAt(j)!='E'&&palabras[i].charAt(j)!='I'&&
palabras[i].charAt(j)!='O'&&palabras[i].charAt(j)!='U'&&palabras[i].charAt(j)!='1'&&palabras[i].charAt(j)!='2'&&
palabras[i].charAt(j)!='3'&&palabras[i].charAt(j)!='4'&&palabras[i].charAt(j)!='5'&&palabras[i].charAt(j)!='6'&&
palabras[i].charAt(j)!='7'&&palabras[i].charAt(j)!='8'&&palabras[i].charAt(j)!='9'&&palabras[i].charAt(j)!='0'){
z+=palabras[i].charAt(j);
}
}
z+=" ";
textArea_1.setText(z);
}
Albertano Salgado
bro me puedes ayudar tengo que un método que reciba como parámetro una cadena de caracteres y retorne una lista de cuantas a , e ,i ,o ,u hay en la cadena Ejemplo Hola Mundo a=1 e=0 i=0 o=2 u =1;
sam
utilizando JOptionPane como sería el código; la pagina es excelente y lo cogidos bastante entendibles, gracias.
edgar
¿y en un archivo como seria el codigo?, por ejemplo un .txt
Bernardo
muy bueno el trabajo.. aunque yo lo haria algo asi
if(String.valueOf(sPalabra.charAt(x)).matches(«[AEIOU-aeiou]»))
{
contador++;
}