Java 为什么这个for循环没有按预期工作?

Java 为什么这个for循环没有按预期工作?,java,string,for-loop,Java,String,For Loop,我做了一个for循环,但没有按预期工作。请参阅代码: for (int i = 0; i < result.size(); i++) { s = s + "k"; for (int ii = 0; ii < result.get(0).size(); ii++) { s = s + "\n"; s = s + result.get(i).get(ii)[0]; } } 我只得到了一个“k”之前的字符串一次。我知道I的值正在更新

我做了一个for循环,但没有按预期工作。请参阅代码:

for (int i = 0; i < result.size(); i++) {
    s = s + "k";
    for (int ii = 0; ii < result.get(0).size(); ii++) {
        s = s + "\n";
        s = s + result.get(i).get(ii)[0];
    }
}
我只得到了一个“k”之前的字符串一次。我知道
I
的值正在更新,因为
result.get(I)
正在使用更新后的
I
给出结果

解释
结果.get(i).get(ii)[0]

s
是一个字符串,结果是一个
ArrayList
,这意味着它包含
ArrayList
对象,“ArrayList的每个对象都是一个字符串数组

编辑:我现在添加得到的输出:

k

United King

["bakery","store","food","establishment"]

0

Oven Fresh Bakery

["bakery","store","food","establishment"]

1

5 Star CNG Pump Station

["gas_station","establishment"]

2

0、1和2后面应该有一个“k”。

嵌套循环条件似乎不正确

for (int ii = 0; ii < result.get(0).size(); ii++) {

什么是
s
?我指的是哪种类型。不要使用
string=string+additionalValue
。您应该使用
StringBuilder
及其
append
方法来构建字符串。此外,为了能够帮助您,我们需要简短而完整的示例,让我们能够真实地再现您的问题。关于实际输出和预期输出的信息也会有帮助。您缺少代码的重要部分,也就是我认为我们根本帮不了您。@Kabulan0lak s是一个字符串。@我编辑了我的帖子是的,我想知道他想要零索引做什么,但我想不出来。接得好。我没有解决这个问题,我使用了0,因为我知道每个对象的大小都是一样的。@Usman什么问题<代码>字符串3k将获得
k
两次。你期望什么样的产出?您想要
s=s+“\nk”吗这样就可以换行了?另外,使用StringBuilder。问题是我没有得到字符串3k,我只得到一个换行符,后面跟着下一个对象(I)的String1,2,3。我需要这样:k>3字符串>k>3字符串>k…@Usman根据您的评论/编辑编辑。
for (int ii = 0; ii < result.get(0).size(); ii++) {
for (int ii = 0; ii < result.get(i).size(); ii++) {
ArrayList<ArrayList<String[]>> result = new ArrayList<ArrayList<String[]>>();
StringBuilder sb = new StringBuilder();
ArrayList<String[]> t = new ArrayList<String[]>();
t.add(new String[] { "String1" });
t.add(new String[] { "String2" });
t.add(new String[] { "String3" });

result.add(t);
result.add(t);

for (int i = 0; i < result.size(); i++) {
    for (int ii = 0; ii < result.get(i).size(); ii++) {
        if (i != 0 || ii != 0) {
            sb.append("\n");
        }
        if (ii == 0) {
            sb.append("k");
        }
        sb.append(result.get(i).get(ii)[0]);
    }
}
System.out.println(sb.toString());
kString1
String2
String3
kString1
String2
String3