2012-10-27 65 views
1

我不知道如何更改我的代碼,以便在另一個類中指定給定值字的數量。而在建築類中,我需要製作一種可以在每個給定值中打印的方法。這裏是我的代碼:字符串打印特定字數到一個新行

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. 字符串被賦予的是:「快速的棕色狐狸跳過了懶狗」

輸出應該是這樣的:
快速褐色
狐狸在
懶狗跳下

注:我不能使用任何其他類,如令牌或緩衝。另外,我不能使用替換/分割。所以,這就是我得到的,我需要從中得到解決。

任何幫助將不勝感激。 感謝

+0

@Asaf作業標籤已被棄用 – Bohemian

+0

@Bohemian,感謝您的更新。我相應地刪除了作業標籤 – Asaf

回答

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

+0

其他建議? – user1780039

+0

@ user1780039看看編輯,我稍微改了一下你的代碼,並添加了一個鏈接到ideone,以便你可以進一步修改和使用它。 – dasblinkenlight

+0

哦,謝謝。所以,我大部分時間都是對的。我只需要有一個額外的變量,將其設置爲1,而不是調用words.length()== wordsPerLine == 0,我需要把這個東西。真棒。非常感謝。 – user1780039