Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何仅输出以“开始”开头的单词;b";从数组中_Java_Arrays_Regex_String_For Loop - Fatal编程技术网

Java 如何仅输出以“开始”开头的单词;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.*”或更简单的

我创建了一个程序,允许用户输入5个单词。这些话 存储到字符串数组中。用户完成后,将显示以字母“B”开头的单词的输入次数、小写或大写。现在我还要重新陈述B字

这就是我到目前为止的代码,它可以找到输入的单词中有多少以“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);
    }