Wie drucke ich in java eine Benutzereingabe aus, ein einziges Wort aus? Beispiel: Benutzereingabe: „Wir lieben Mutter sie ist die beste“. das Programm annehmen, „Mutter“ wegen ersten und letzten Zeichen sind gleich zu drucken. mein Code nicht alles am Ende drucken. Hier ist mein Code:
Scanner s = new Scanner(System.in);
System.out.println("Please enter a Sentence");
String input=s.nextLine();
String builderString=" ";
for(int i=0,j=0;i<input.length();i++){
if(input.charAt(i)==' '){
j=i+1; //upper the value of J if there is space (J will always check first char)
if (input.charAt(j)==input.charAt(i)&&j<i) {//an if statement to check for match chars.
builderString=" "+input.charAt(i);// insert the char into a new string to print it in the console.
}
}
}
}
System.out.println(builderString);
}
}
Anstatt jeden Buchstaben des Strings Parsen, könnten Sie Ihre Eingabe in ein Array von Wörtern aufgeteilt und jedes Wort einzeln überprüfen.
Sie können Ihre Schleife halten , aber Sie müssen nur prüfen , ob die chart at 0
das gleiche als das istword.length() - 1
Hier ist ein funktionierendes Beispiel. Bitte beachten Sie, dass ich den Scanner Teil zu entfernen haben, um es auf dem Spielplatz zu machen arbeiten, ich bin mit.
// This would be de equivalent of your scanner
String input = "We love mom she is the best";
String[] words = input.split(" ");
String output = "";
for(int i=0;i<words.length; i++){
String currentWord = words[i];
if(currentWord.charAt(0) == currentWord.charAt(currentWord.length() -1)) {
output = currentWord;
}
}
System.out.println(output);
Sie müssen auch nicht Ihre j
Variable nicht mehr.
Sie können es testen hier