Настройка вывода в одном массиве - PullRequest
0 голосов
/ 24 декабря 2018

Мне нужна быстрая помощь, как поместить 3 строки выходного кода в одну строку.С помощью этого кода я получаю ответ:

 Duplicate Element : 12
 Duplicate Element : 0
 Duplicate Element : 43

, но я хочу, чтобы они были в одном массиве.

public class As1 {

    public static void main(String[] args) {
    int []array= {12,23,-22,0,43,545,-4,-55,43,12,0,-999,-87};


        for (int i = 0; i < array.length-1; i++)
        {
            for (int j = i+1; j < array.length; j++)
            {
                if ((array[i] == array[j]) && (i != j))
                {
                    System.out.println("Duplicate Element : "+array[j]);
                }
            }
        }
    }
}

Я знаю, что могу использовать array.toString[], но получаю ошибку.Я хочу, чтобы мой вывод был таким

Duplicate Element : 12, 0, 43.

1 Ответ

0 голосов
/ 24 декабря 2018

U всегда может сделать однократную печать с логическим флагом, например first :

public static void main(String[] args) {
    int[] array = {12, 23, -22, 0, 43, 545, -4, -55, 43, 12, 0, -999, -87};

    boolean first = true;
    for (int i = 0; i < array.length - 1; i++) {
        for (int j = i + 1; j < array.length; j++) {
            if ((array[i] == array[j]) && (i != j)) {
                if(first) {
                    System.out.print("Duplicate Element:");
                    first = false;
                }
                System.out.print(" " + array[j]);
            }
        }
    }
}

Или вы можете создать новый массив, содержащий все дубликаты, и распечатать их впоследствии:

public static void main(String[] args) {
    int[] array = {12, 23, -22, 0, 43, 545, -4, -55, 43, 12, 0, -999, -87};

    int[] duplicates = new int[array.length/2]; //maximum duplicates is half of size the given integer array
    int k = 0;
    for (int i = 0; i < array.length - 1; i++) {
        for (int j = i + 1; j < array.length; j++) {
            if ((array[i] == array[j]) && (i != j)) {
                duplicates[k] = array[i];
                k++;
            }
        }
    }

    System.out.print("Duplicate Element:");
    for(int i = 0; i < k; i++) {
        System.out.print(" " + duplicates[i]);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...