所以首先是我的代码:
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循环在屏幕上打印数据,通过将计数器递增一定值,如何将这些数据添加到字段是我不明白该怎么做。
答案 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));
}