Альтернативная печать 2 строк с несколькими переменными с Java - PullRequest
0 голосов
/ 06 февраля 2020

Я пытаюсь получить чередование выходных данных между строковым учреждением и префиксом строки. Пример

1. Учреждение: UCF

1. Префикс: CGS

2. Учреждение: USF

2. Префикс: COP

и так далее, и так далее ...

Я хочу напечатать первую переменную из каждой строки вместе (выведите 1 вместе и напечатайте 2 вместе.

пакет каталог; publi c курс курса {

private String[] institution = {"UCF", "USF", "UM", "FSU", "FS"};
private String[] prefix = {"CGS", "COP", "COP", "CGS", "CIS"};
public Course() {
    for(String i: institution) {
        System.out.println("Institution: "+i);
        for (String p: prefix)
        System.out.println("Prefix: "+p);}
    }

public static void main(String[] args) {
    System.out.println("Transcripts for BN");
    new Course();
}

}

Ответы [ 2 ]

1 голос
/ 06 февраля 2020

Вместо использования расширенного for-l oop просто используйте for-l oop. При этом мы сохраняем индекс в массиве, который мы повторяем . Все, что нам нужно сделать, это напечатать значение индекса в массиве Course # Institute и массиве префиксов Course.

Как улучшить это (для вас)

  1. Думайте о каждом Курсе как об отдельном учебном заведении и префиксе.
  2. Не используйте конструктор для печати информации, создайте метод для этого.
  3. Проверьте наличие таких крайних случаев, как как если бы массив учреждений не соответствовал размеру массива префиксов.
    public static void main(String[] args) {
        System.out.println("Transcripts for BN");

        new Course();
    }

    public static final class Course {

        private String[] institution = {"UCF", "UCF", "UCF", "UCF", "UCF"};

        private String[] prefix = {"CGS", "COP", "COP", "CGS", "CIS"};

        public Course() {
            for (int institutionIndex = 0; institutionIndex < institution.length; institutionIndex++) {
                System.out.println(String.format("Institution: %s", institution[institutionIndex]));
                System.out.println(String.format("Prefix: %s", prefix[institutionIndex]));
            }
        }

    }

Вывод

Transcripts for BN
Institution: UCF
Prefix: CGS
Institution: UCF
Prefix: COP
Institution: UCF
Prefix: COP
Institution: UCF
Prefix: CGS
Institution: UCF
Prefix: CIS
0 голосов
/ 06 февраля 2020

Прежде всего, это возможно, только если оба массива имеют одинаковый размер. Если это так, то вам просто нужно l oop на основе индекса. Решение будет таким же, как указано выше.

для лучшего понимания для l oop и для каждого l oop прочитайте это. В чем разница между for и foreach?

Кроме того, я хотел бы добавить, что ваша программа может обработать sh, если размеры массивов различны, поэтому я предлагаю поставить галочку для который.

...