如何在Java用户输入中打印出单个单词?示例:用户输入:“我们爱妈妈,她是最好的”。该程序假设打印“妈妈”,因为第一个字符和最后一个字符相同。我的代码最后没有显示任何内容。这是我的代码:
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); } }
无需解析字符串的每个字母,您可以将输入拆分成单词数组并分别检查每个单词。
您可以保持循环,但只需要检查是否与chart at 0处的循环相同word.length() - 1
chart at 0
word.length() - 1
这是一个工作示例。请注意,我已经删除了扫描仪部件,以使其在我正在使用的操场上工作。
// 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);
您也不再需要j变量。
j
你可以在这里测试