Java - Alfabeto idioma español

 
Vista:
sin imagen de perfil

Alfabeto idioma español

Publicado por Sebastian (1 intervención) el 18/04/2023 17:35:56
Hola, me pueden ayudar con este programa ?.


Realice un programa en java que con base en el alfabeto del idioma español {a,b,c, …., z} acepte la expresión simulando un editor de texto:

a. Las únicas vocales que se pueden escribir juntas son la a, e, o (ósea aa, ee, oo)

b. Las únicas consonantes que se pueden escribir juntas son la c, l, m, n, r (ósea cc, ll, mm, nn, rr)

c. Puede haber la cantidad de espacios que se desee

d. Sólo letras minúsculas y sin tilde

e. Después de la letra q solo se permite la u

f. No se permiten 3 consonantes juntas ni 3 vocales juntas

Observaciones:

Entiéndase alfabeto del idioma español {a,b,c, …., z}, que sólo debe permitirse en la expresión dichos carateres, osea que si en la expresión se encuentra un carácter distinto debe mostrarse un mensaje en pantalla como “al menos hay un carácter por fuera del alfabeto”. También se permite espacios

Debe analizar la expresión mediante un ciclo PARA analizando desde el primer carácter hasta el último
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: 26
Ha aumentado su posición en 4 puestos en Java (en relación al último mes)
Gráfica de Java

Alfabeto idioma español

Publicado por antonio (32 intervenciones) el 18/04/2023 20:48:35
Hola buenas este seria un ejemplo si quieres comprobar una frase o palabra, deberás buscar tu si quieres que lo haga mientras escribes:
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
50
51
52
53
54
55
56
57
58
59
60
61
62
import java.util.Scanner;
public class Diccionario {
public boolean palabraOK(String palabra){
	boolean ok=true;
	//recorre palabra letra a letra
	for (int x=0;x<palabra.length();x++){
		//comprobar el valor ascii
		int ascii = (int) palabra.charAt(x);
		//Caracter estraños o acentos estan mal
		if(ascii>128) ok=false;
		//Mayusculas tambien estan mal
		if(ascii>64 && ascii<91){
			ok=false;
		}
		else{
			//tres caracters iguales es incorrecto
			if(x+2<palabra.length()){
				if(palabra.charAt(x) == palabra.charAt(x+1) && palabra.charAt(x+1) == palabra.charAt(x+2)){
					ok = false;
				}
			}
			if(x+1<palabra.length()){
				//Si hay una q la siguiente letra tiene que ser una u
				if(palabra.charAt(x) == 'q' && palabra.charAt(x+1)!='u'){
					ok=false;
				}
				//Excepciones de letras segidas que se aceptan
				if(palabra.charAt(x) == palabra.charAt(x+1)){
					if(palabra.charAt(x)=='a' || palabra.charAt(x)=='e' ||palabra.charAt(x)=='o'
					||palabra.charAt(x)=='c' ||palabra.charAt(x)=='l' ||palabra.charAt(x)=='m'
					||palabra.charAt(x)=='n' ||palabra.charAt(x)=='r'){
 
					}
					//la demas letras iguales sson incorrectas
					else{
 
						ok=false;
					}
 
				}
			}
		}
 
	}
	return ok;
}
  public static void main(String[] args){
	Scanner leer=new Scanner(System.in);
	String palabra;
	System.out.println("Escribe una palabra:");
	palabra= leer.nextLine();
	Diccionario prueba = new Diccionario();
	boolean comp_palabra = prueba.palabraOK(palabra);
	if(comp_palabra){
		System.out.println("La palabra o frase,"+palabra+ ", esta correctamente escrita");
	}
	else{
		System.out.println("La palabra  o frase,"+palabra+ ", no existe");
	}
 
  }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar