2016-10-05 5 views
0

enter image description hereのJOptionPane

私は16個の言葉と4行の部分を収集プログラムを作成しようとしている、4単語の後に新しい行を作ります。ヒント? ここに私のコードです。 私はすべてを解決しましたが、私は4行に分割できません。

import java.util.ArrayList; 
import javax.swing.JOptionPane; 

public class Kontroll1 { 
    public static ArrayList<String> Words = new ArrayList<String>(); 

    public void Registerer(String Ordtildikt){ 
    int i = 0; 
    for (;i<4;i++); 
    Words.add(Ordtildikt); 
    Words.add("\n"); 
    } 
} 

これは次のようになります。

答えて

0

すべての単語が最初の文字列にある場合は、文字列分割操作を使用する必要があります。

String [] lines = Ordtildikt.split( "\ n"); /各行は配列の要素です。

しかし、単語ごとにコードを繰り返そうとすると、forループが奇妙に構成されます。

for (;i<4;i++); 

「{...}」の中かっこは、読みにくいのでループを作らないようにしてください。セミコロン ";"で終わるループを書くと、これがループコードの終わりであることを指定し、ループコードを実行して0の実際のコード行を実行します。あなたはループを持っているとき

for(int i = 0; i < 4; i++){ 
    ...// code to loop here 
} 

はしかし、それはコードのセットを繰り返し、あなたはあなたが何をしようとして似ていない配列に同じ単語を追加することがあります。あなたがしたいことは、メソッドの外側にカウンターがあることです。

public static ArrayList<String> Words = new ArrayList<String>(); 
public int wordCount = 0; 

インクリメントカウンタ各単語を追加し、それが4

public void Registerer(String Ordtildikt){ 

    wordCount++; 
    Words.add(Ordtildikt); 
    if(wordCount%4 == 0){ 
     Words.add("\n"); 
     wordCount = 0; 
    } 
} 
で割り切れるだ場合は、新しい行を追加した後、