字符串将特定数量的单词打印到新行

时间:2012-10-27 22:28:47

标签: java

我想知道如何更改我的代码,以便在另一个类中指定给定值字的数量。在构造类中,我需要创建一个在每个给定值中打印的方法。这是我的代码:

public void wordBox()
    {
        for (int i = 0; i < words.length(); i++)
        {
        if (words.length() % wordsPerLine == 0 && words.charAt(wordsPerLine) == ' ')
            System.out.println();               
        else 
            System.out.print(words.charAt(i));
        }
        System.out.println();
    }

wordsPerLine在另一个类中给出了3个数字。 字符串是这样的:“快速的棕色狐狸跳过懒狗”

输出应该是这样的:
快速的棕色 你的狐狸跳过了 慵懒的狗

注意:我不允许使用任何其他类,如令牌或缓冲区。另外,我不能使用替换/拆分。所以,这就是我给予的,我需要从中做到这一点。

任何帮助将不胜感激。 感谢

1 个答案:

答案 0 :(得分:3)

不是在构造函数中设置wordswordsPerLine实例变量,而是将它们传递给静态方法,如下所示:

public static void wordBox(String words, int wordsPerLine) {
    int count = 1;
    for (int i = 0; i < words.length(); i++)
    {
    if (words.charAt(i) == ' ' && (count++) % wordsPerLine == 0)
        System.out.println();               
    else 
        System.out.print(words.charAt(i));
    }
    System.out.println();
}

通过这种方式,您可以独立于构造函数指定wordswordsPerLine,并可以从任意位置调用wordBox,并且每行都包含所需的单词数量。

这是link to ideone with this running program