java - Why is this for loop not working as expected? -
i have made loop not working expected. please see code:
for (int = 0; < result.size(); i++) { s = s + "k"; (int ii = 0; ii < result.get(0).size(); ii++) { s = s + "\n"; s = s + result.get(i).get(ii)[0]; } }
result.get(i).get(ii)[0]
should output string, outputted successfully, problem string s
should contain "k" every time before adding 3 strings, should like:
kstring1 string2 string3 kstring1 string2 string3
i getting "k" 1 time before string. know value of i
updating because result.get(i)
giving results updated i
.
explaining result.get(i).get(ii)[0]
:
s
string, result arraylist< arraylist< string[]>>
means contains arraylist< string[]>
objects , each object of `arraylist< string[]> string array.
edit: adding output getting:
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
there should "k" right after 0, 1 , 2.
your nested loop status appears incorrect,
for (int ii = 0; ii < result.get(0).size(); ii++) {
should be
for (int ii = 0; ii < result.get(i).size(); ii++) {
edit (based on comments , edit, next time - please include short, self contained, right (compilable), example improve help faster)
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); (int = 0; < result.size(); i++) { (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());
output is
kstring1 string2 string3 kstring1 string2 string3
java string for-loop
No comments:
Post a Comment