字符串拆分方法java

时间:2013-12-09 20:21:30

标签: java

我在使用我的代码时遇到了一些困难。我的一个任务要求我使用外部文件中的这些数据(基本上是一段/诗):

Good morning life and all
Things glad and beautiful
My pockets nothing hold
But he that owns the gold
The sun is my great friend
His spending has no end
Hail to the morning sky
Which bright clouds measure high
Hail to you birds whose throats
Would number leaves by notes
Hail to you shady bowers
And you green fields of flowers
Hail to you women fair
That make a show so rare
In cloth as white as milk
Be it calico or silk
Good morning life and all
Things glad and beautiful

我们试图找到单词总数,只有三个字母的单词数,以及三个单词的出现百分比。我想我可以处理这个任务,但是在我解决这个问题时我的代码出了问题:

import java.io.*;
import java.util.*;
public class Prog739h
{
    public static void main(String[] args) throws IOException
    {
        Scanner kbReader = new Scanner(new File("C:\\Users\\Guest\\Documents\\Java programs\\Prog739h\\Prog739h.in"));
        int totalWords = 0;
        while(kbReader.hasNextLine())
        {
            String data = kbReader.nextLine();
            String[] words = data.split(" ");
            totalWords+=words.length();
            System.out.println(totalWords);
        }
    }
}

当我尝试编译以测试代码时,看看我所做的一切是否正常工作,我得到一个错误,说它找不到符号方法长度()。我用“totalWords + = words.length()”检查了我的行,但我不知道我能做些什么来解决这个问题。有人可以向我解释为什么会发生这种情况并提供一些方法来解决这个错误吗?谢谢!

5 个答案:

答案 0 :(得分:1)

答案是数组的长度由length字段给出,而不是length方法。换句话说,改变

totalWords+=words.length();

totalWords+=words.length;

答案 1 :(得分:0)

lengthArray对象上的公共字段,代码尝试使用()

将其作为方法调用

删除()后的长度:

totalWords+=words.length

答案 2 :(得分:0)

数组properties不应包含括号

totalWords += words.length;
                          ^

答案 3 :(得分:0)

length是数组的属性,不使用()

访问它

答案 4 :(得分:0)

请改变:

totalWords+=words.length();

totalWords+=words.length;