Как подсчитать гласные в верхнем и нижнем регистре в строке за один раз? - PullRequest
0 голосов
/ 04 августа 2020

Я создал программу в Java для подсчета гласных в нижнем регистре, но я не могу считать гласные в верхнем регистре.

public static void main(String[] args) {
    Scanner input = new Scanner (System.in);
    //String input = new String(input.toUpperCase(0));
    System.out.print("Enter tha Letter: ");
    char x = input.next().charAt(0);
    if(x=='a' || x=='e' || x=='i' || x=='o' || x=='u'){
        System.out.println("Vowel");
    }else{
        System.out.println("Consonant");
    }
}

Ответы [ 4 ]

2 голосов
/ 04 августа 2020

Вы можете создать последнюю строку aeiouAEIOU и выполнить поиск и проверить, гласная ли это

Поскольку aeiouAEIOU имеет фиксированную длину, временная сложность для проверки гласной составляет O(1)

public static void main(String[] args) {
        Scanner input = new Scanner (System.in);
        //String input = new String(input.toUpperCase(0));
        System.out.print("Enter tha Letter: ");
        String x = input.next().substring(0, 1);

        final String vowels = "aeiouAEIOU";
        if(vowels.contains(x)){
            System.out.println("Vowel");
        }else{
            System.out.println("Consonant");
        }
    }
2 голосов
/ 04 августа 2020

У вас может быть строка, содержащая ваши гласные, а затем проверить, содержит ли она первый символ ввода:

Scanner input = new Scanner(System.in);
String vowels = "aeiouAEIOU";

System.out.print("Enter tha Letter: ");
char x = input.next().charAt(0);

if(vowels.contains(Character.toString(x))){
    System.out.println("Vowel");
}else{
    System.out.println("Consonant");
}

input.close();

В качестве альтернативы уменьшите vowels до "aeiou" и введите символ ввода в нижний регистр, используя Character.toString(x). Но мне лично больше нравится другой способ.

1 голос
/ 04 августа 2020

Вы можете просто добавить условия для гласных в верхнем регистре в существующее условие if:

if(x=='a' || x=='e' || x=='i' || x=='o' || x=='u' || x=='A' || x=='E' || x=='I' || x=='O' || x=='U'){
        System.out.println("Vowel");
}
0 голосов
/ 04 августа 2020

Расширьте существующий logi c, чтобы поставить условие else if для гласных верхнего регистра.

if (x == 'a' || x == 'e' || x == 'i' || x == 'o' || x == 'u') {
    System.out.println("Lower case vowel");
} else if (x == 'A' || x == 'E' || x == 'I' || x == 'O' || x == 'U') {
    System.out.println("Upper case vowel");
} else {
    System.out.println("Consonant");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...