2016-10-05 4 views
0

enter image description hereJOptionPane에

내가 16 개 단어와 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; 
    } 
} 
로 나눌의 경우 새 줄을 추가 한 후