Encontrar si el array de 100 elementos aleatorios contiene el número, que no se repite?

Mezja:

Por favor alguien puede explicar por qué System.out.println("Doesn't repeat: "+a[i]);no imprimir nada?

import java.util.Arrays;
import java.util.Random;




public class Practice {


public static void main(String[] args) {
    int []a=new int[100];

    Random rand =new Random();
        for(int i=0;i<100;i++)
           {
        a[i]=rand.nextInt((100-1)+1)+1;

           }
    Arrays.sort(a);
        for(int i=0;i<100;i++)
           {
        System.out.print(a[i]+ " ");

           }
boolean flag;
    System.out.print(" ");
    System.out.print(" ");
    for(int i=0;i<100;i++)
    {
        flag=false;
        for(int j=0;j<100;j++) 
        {
            if(a[i]==a[j])
            {
            flag=true;
            break;
            }
        }
        if(flag==false)
        {
            System.out.println("Doesn't repeat: "+a[i]);
        }
    }       
}
}

Estoy recibiendo solamente la matriz actual de 100 elementos y las líneas con elementos que no aparecen dos o más veces no se presentan.

Editar:

import java.util.Arrays;
import java.util.Random;




public class Practice {


    public static void main(String[] args) {
        int []a=new int[100];

        Random rand =new Random();
        for(int i=0;i<100;i++)
        {
            a[i]=rand.nextInt((100-1)+1)+1;

        }
        Arrays.sort(a);
        for(int i=0;i<100;i++)
        {
            System.out.print(a[i]+ " ");

        }
    boolean flag;
        System.out.print(" ");
        System.out.print(" ");
        for(int i=0;i<100;i++)
        {
            flag=false;
            for(int j=0;j<100;j++) 
            {

             if (i==j) {
                    continue;
                }
             else if(a[i]==a[j])
                {
                flag=true;
                break;
                }

            }
            if(flag==false)
            {
                System.out.println("Doesn't repeat: "+a[i]);
            }
        }

    }
}

Por ahora esto es lo mejor que puedo conseguir, pero excluye los elementos de código igual, incluso si son los únicos.

pasarán;

Hice algunos cambios en su código (eliminado flagy el uso unique, ya que es más fácil de leer).
También he añadido un bucle interior que modifica i, a la última de índice que contiene un elemento no único:

boolean unique;
System.out.println();
for (int i = 0; i < 100; i++) {
    unique = true;
    for (int j = i + 1; j < 100; j++) {
        if (a[i] == a[j]) {
            unique = false;
            break;
        }
    }
    if (unique) {
        System.out.println("Doesn't repeat: " + a[i]);
    } else {
        for (int k = i + 1; k < 100; k++) {
            if (a[k] != a[i]) {
                i = k - 1;
                break;
            }
        }
    }
}

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=232886&siteId=1
Recomendado
Clasificación