小编典典

如何从用户输入中打印单个单词

java

如何在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);
    }
}

阅读 278

收藏
2020-11-26

共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变量。

你可以在这里测试

2020-11-26