Предполагается, что пользователь вводит несколько слов (без учета строчных и прописных букв) с пробелом между ними, затем этот текст будет переведен в инициалы без пробелов. Однако мне нужны только инициалы тех слов, которые я одобряю, если что-то кроме этих слов, распечатка вместо этого скажет «?» вместо печати первого алфавита слова. E.q: «привет, привет, привет» будет выглядеть как «HHH», но вместо «привет, привет, привет» или «привет. Привет» вместо этого будет «H? H».
Мне удалось распечатать инициалы без пробелов. Но я не могу понять, как добавить условие, при котором программа сначала проверит, содержит ли введенные данные неутвержденные слова или знаки / символы, или нет, чтобы заменить это неутвержденное или несловарное знаком вопросительный знак вместо того, чтобы просто идти вперед и печать инициала / знака. Я попытался поместить цикл for в цикл if-else и использовать цикл switch () -, но они не будут корректно взаимодействовать с циклом for.
public static void main (String []args) {
Scanner keyboard = new Scanner (System.in);
System.out.println("Enter your words: ");
String input = keyboard.nextLine().toUpperCase();
String str = input;
String[] parts = str.split(" ");
System.out.print("The initials: ");
for (String i : parts) {
System.out.print(i.charAt(0));
}
}
Итак, что происходит сейчас, так это то, что независимо от того, какие слова пользователь вводит, инициалы каждого слова или символа / знака будут напечатаны независимо от этого.