Как напечатать i и i+1 в цикле for?

У меня есть массив, полный имен. Я использую цикл 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));
}

проблема в том, что он печатает это:

(это имена в массиве: «Ким», «Джон», «Сэм», «Эдисон»)

Ким с Ким Сэм с Сэмом

вместо этого :

Ким с Джоном Сэмом с Эдисоном

Я не вижу ничего плохого в вашем коде. Вы уверены, что вывод неверный? Или, может быть, ваш массив содержит «Ким», «Ким», «Джон», «Джон», «Сэм»,...

Chris623 18.02.2019 18:36

Не могли бы вы показать нам массив, который вы используете?\

ivan 18.02.2019 18:42
2
2
43
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ваш код, кажется, работает для меня, пожалуйста, проверьте, все ли в порядке с вашим массивом.

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")

Erfann34 18.02.2019 19:16
Ответ принят как подходящий

Я только что попробовал это, и он работает хорошо.

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

Другие вопросы по теме