Java 如何仅输出以“开始”开头的单词;b";从数组中
我创建了一个程序,允许用户输入5个单词。这些话 存储到字符串数组中。用户完成后,将显示以字母“B”开头的单词的输入次数、小写或大写。现在我还要重新陈述B字 这就是我到目前为止的代码,它可以找到输入的单词中有多少以“b”开头 但这似乎不起作用,我也不认为它会起作用,我有点不知所措Java 如何仅输出以“开始”开头的单词;b";从数组中,java,arrays,regex,string,for-loop,Java,Arrays,Regex,String,For Loop,我创建了一个程序,允许用户输入5个单词。这些话 存储到字符串数组中。用户完成后,将显示以字母“B”开头的单词的输入次数、小写或大写。现在我还要重新陈述B字 这就是我到目前为止的代码,它可以找到输入的单词中有多少以“b”开头 但这似乎不起作用,我也不认为它会起作用,我有点不知所措 我希望能在这方面得到一些帮助,提前谢谢。这是因为charAt返回char,而不是String,因此您必须更改比较: if (words.charAt(0) == 'b') 另一种可能是使用regex“b.*”或更简单的
我希望能在这方面得到一些帮助,提前谢谢。这是因为
charAt
返回char
,而不是String
,因此您必须更改比较:
if (words.charAt(0) == 'b')
另一种可能是使用regex“b.*”
或更简单的方法-String
随startsWith
方法提供,因此您可以简单地执行以下操作:
if (words.startsWith("b"))
在您的代码中,单词不是字符串(它是字符串数组),因此它没有上面使用的charAt方法。您的Word数组中有5个字符串,因此,如果您想在数组中写入以字符“b”开头的所有字符串,您应该在数组中循环并打印以“b”开头的所有字符串,如下所示:
for(String str : words){
if (str.charAt(0) == 'b'){
System.out.println(str);
}
一些提示:
在Java7中,String具有startsWith方法,您可以使用该方法。如果您使用的是java 6,请检查它是否也有:
for(String str : words){
if (str.startsWith("b", 0)){
System.out.println(str);
}
char
文本用单引号括起来:'b'
可以尝试String::startsWith
for(String str : words){
if (str.charAt(0) == 'b'){
System.out.println(str);
}
for(String str : words){
if (str.startsWith("b", 0)){
System.out.println(str);
}