Joptionpane后4个单词创建新行

时间:2016-10-05 14:33:03

标签: java joptionpane

enter image description here

我正在尝试创建一个收集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 个答案:

答案 0 :(得分:0)

如果所有单词都在第一个字符串中,那么您需要使用字符串拆分操作。

String [] lines = Ordtildikt.split(&#34; \ n&#34;); /每行是数组的一个元素。

但是,如果你试图为每个单词重复代码,那么你的for循环结构很奇怪。

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

你应该尽量避免在没有大括号的情况下制作循环&#34; {...}&#34;因为很难阅读当你写一个以分号结尾的循环&#34 ;;&#34;它指定这是循环代码的结束,并将运行它并执行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;
    }
}