Blue Bridge Cup: juicio de sílabas (súper detallado)

tema

[Descripción del problema]
   Xiao Ming está muy interesado en palabras como hola, que se pueden dividir en cuatro segmentos: el primer segmento está compuesto por una o más consonantes y el segundo segmento está compuesto por una o más vocales. , El tercer párrafo está compuesto por una o más consonantes, y el cuarto párrafo está compuesto por una o más vocales.
   Dada una palabra, juzgue si esta palabra es también este tipo de palabra, si lo es, envíe sí, de lo contrario, envíe no.
   Hay cinco vocales que incluyen a, e, i, o, u, y las demás son consonantes.
[Formato de entrada]
   Introduzca una línea, que contenga una palabra, y la palabra solo contiene letras minúsculas en inglés.
[Formato de salida]
   Respuestas de salida, ya sea sí o no.
[Entrada de muestra]
lanqiao
[Salida de muestra]
        sí
[Entrada de muestra]
mundo
[Salida de muestra]
   no
[Escala de casos de uso de evaluación y convenciones]
   Para todos los casos de uso de evaluación, el número de letras en una palabra no debe exceder 100.

Ideas para resolver problemas

   Todo en los comentarios del código.

Código

import java.util.Scanner;

public class Main {
    
    
    public static void main(String[] args) {
    
    //音节判断
        Scanner scanner = new Scanner(System.in);
        char []c = scanner.next().toCharArray();
        int j=0,count=0; //j代表下标,count代表段与段之间,比如从一段到二段,count++,二段到三段count++,三段到四段count++,最终count为3
        for(int i=1;i<=4;i++){
    
     //i代表第几段
            for(;j<c.length;){
    
    
                if(i==1||i==3){
    
    //一段和三段时应当为辅音
                    if(c[j]!='a'&&c[j]!='e'&&c[j]!='i'&&c[j]!='o'&&c[j]!='u'){
    
    //辅音
                        j++;//为辅音j+1并continue判断j+1
                        continue;
                    }else{
    
    
                        count++;
                        break;//不为辅音下标j不变并跳入下一段
                    }
                }
                if((i==2||i==4)&&j!=0){
    
    //二段和四段时应当为元音,并且下标不能为0
                    if(c[j]=='a'||c[j]=='e'||c[j]=='i'||c[j]=='o'||c[j]=='u'){
    
    //元音
                        j++;//为元音j+1并continue判断j+1
                        continue;
                    }else{
    
    
                        count++;
                        break;//不为元音下标j不变并跳入下一段
                    }
                }
            }
        }
        if(count==3){
    
    
            System.out.println("yes");
        }else{
    
    
            System.out.println("no");
        }
    }
}




Supongo que te gusta

Origin blog.csdn.net/qq_47168235/article/details/108909558
Recomendado
Clasificación