Создание новой строки после 4 слов, Joptionpane

#java #joptionpane

#java #joptionpane

Вопрос:

введите описание изображения здесь

Я пытаюсь создать программу, которая собирает 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");
  }
}
  

Это должно выглядеть так.

Ответ №1:

Если все слова находятся в первой строке, то вам нужно будет использовать операцию разделения строки.

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;
    }
}