使用for循环填充字段

时间:2015-12-13 20:02:58

标签: java

所以首先是我的代码:

public class eol {
public static void main(String[] args) {

    String x = "Charles.Baudelaire*05051988*France Sergei.Esenin*01011968*Russia Herman.Hesse*23051996*Germany";

   String[] word= x.split("[.,*, ]");
    for(int i=0;i<word.length;i++){
       // System.out.print(word[i]+" ");
    }
    String name = word[0];
    String lastname = word[1];
    String dod =word[2];
    String cob= word[3];

    System.out.print("First person data : "+
            "\n"+ name +" "+ "\n"+lastname+" "+"\n"+ dod+" "+"\n"+ cob);

我想循环遍历字符串x,并获取所需的值,并使用它们来创建类编写器的3个对象,有没有办法用for循环执行此操作? 或者我必须在3个较小的数组中“打破”原始字符串,然后为每个数组执行循环。

我的意思是,我可以使用for循环在屏幕上打印数据,通过将计数器递增一定值,如何将这些数据添加到字段是我不明白该怎么做。

2 个答案:

答案 0 :(得分:0)

在每个循环之后

i += 4而不是i++,并在循环中使用word[i]word[i+1]word[i+2]word[i+3]。< / p>

String x = "Charles.Baudelaire*05051988*France Sergei.Esenin*01011968*Russia Herman.Hesse*23051996*Germany";

String[] word= x.split("[.,*, ]");
for(int i=0;i<word.length;i+=4){
    String name = word[i];
    String lastname = word[i+1];
    String dod =word[i+2];
    String cob= word[i+3];
    // Use these variable.
}

答案 1 :(得分:0)

不确定。您可以执行以下操作:

Validate.isTrue(word.length % 4 == 0, "Array size must be a multiple of 4");
List<Writer> writers = new ArrayList<>();
for (int i=0; i<word.length; i+=4) {
    String name = word[i];
    String lastname = word[i+1];
    String dod =word[i+2];
    String cob= word[i+3];
    writers.add(new Writer(name, lastname, dod, cob));
}