У меня есть массив, полный имен. Я использую цикл for для печати своих имен, но проблема в том, что я хочу напечатать 2 имени: i(the name) and i+1 (the next name). вы можете не понять, что я сказал, посмотрите на мой код:
"текст" - это мой текст, а "люди" - это массив:
people = new ArrayList<>();
people.add("Sam");
people.add("John");
people.add("Kim");
people.add("Edison");
for (int i=0; i< people.size(); i = i+2) {
text.append(people.get(i) + " with " + people.get(i+1));
}
(это имена в массиве: «Ким», «Джон», «Сэм», «Эдисон»)
Ким с Ким Сэм с Сэмом
Ким с Джоном Сэмом с Эдисоном
Не могли бы вы показать нам массив, который вы используете?\
Ваш код, кажется, работает для меня, пожалуйста, проверьте, все ли в порядке с вашим массивом.
public class HelloWorld{
public static void main(String []args){
String[] names = {"Vikas","Kumar","Rajat","Ghator"};
for (int i=0; i< names.length; i = i+2) {
System.out.println(names[i] + " with " + names[i+1]);
}
}
}
печатает:
Vikas with Kumar
Rajat with Ghator
Я использую Arraylist<>() следующим образом: [people = new Arraylist<>()] затем я добавляю имена следующим образом: people.add("kim")
Я только что попробовал это, и он работает хорошо.
TextView tv = findViewById(R.id.textView);
String[] people = {"Kim","John","Sam","Edison"};
for (int i=0; i< people.length; i = i+2) {
tv.append(people[i] + " with " + people[i+1]+"\n");
}
Если вы используете список, то
List<String> people = new ArrayList<>();
people.add("Kim");
people.add("John");
people.add("Sam");
people.add("Edison");
for (int i=0; i< people.size(); i = i+2) {
tv.append(people.get(i) + " with " + people.get(i+1)+"\n");
}
Вывод:
Kim with John
Sam with Edison
Я не вижу ничего плохого в вашем коде. Вы уверены, что вывод неверный? Или, может быть, ваш массив содержит «Ким», «Ким», «Джон», «Джон», «Сэм»,...