Duvida em questao do livro

Tava estudando pelo Deitel e me deparei com a seguinte questao:

(Eliminacao de duplicatas)Utilize um array unidimensional para resolver o seguinte problema: Escreva um aplicativoque insere cinco numeros, cada uma entre 10 e 100,inclusive. A medida que cada numero é lido, so
o exiba se ele nao for uma duplicata de um numero ja lido.Cuide de tratar o “pior caso”, em que todos os cinco numeros sao diferentes.Utilize o menor array possivel para resolve o problema. Exiba o conjunto completo de valores unicos inseridos depois que o usuario inserir cada valor novo.

Ja tentei usar if encadeado, equals mas ate o momento nao obtive exito. Agradeço desde ja pessoal.

Código?

Algoritmo
Var
    vet : vetor[1..5] de inteiro
    i, j, k: inteiro
    repetido : logico
Inicio
  escreval("Vamos começar?")
  escreval("Digite números entre 10 e 100 (inclusive)")
  para i de 1 ate 5 faca
       escreval("Digite o ", i, "º número")
       leia(k)

       //Importante: vaalidar os valores de entrada, entre 10 e 100

       repetido <- FALSO
       j <- i

       enquanto j > 0 faca
                k <- vet[j]
                se (j <> i) e (k = vet[i]) entao
                   repetido <- VERDADEIRO
                fimse
                j <- j - 1
       fimenquanto

       se nao repetido entao
          escreval(vet[i])
       fimse
  fimpara

Fimalgoritmo

Veja se isso clarei tuas ideias…

Clareia d+. O algoritmo, aparentemente, está de acordo com o problema proposto. A implementação que deve está zuada.

Desculpa nao postar o codigo pessoal, tava tao zuado que eu nem postei. Muito obrigado pela ajuda pessoal, vou tentar implementar esse algoritmo e retorno com uma noticia.

Meu codigo, achei muito zuado depois que olhei com calma:

public static void main(String[] args) {

    Scanner teclado = new Scanner(System.in);
    
   int array[] = new int[5];

   
    System.out.print("Digite o 1º numero: ");
    array[0] = teclado.nextInt();
    
    Arrays.sort(array);
    
    System.out.println("Numeros lidos: "+array[0]);
    
    System.out.print("Digite o 2º numero: ");
    int valor2 = teclado.nextInt();
    
    int busca = Arrays.binarySearch(array,valor2);
    
    if(busca < 0){
        
       array[1] = valor2;
       System.out.print("Numeros lidos: "); 
       
       for(int i = 0; i <array.length; i++ ){
           
           for(int numeros:array){
               
              if(numeros != 0){
                  
                  System.out.print(numeros+" ");
              }else{
                  System.out.print("");
              }

           } // fim for
            
        }        

    } else{
       
        
        System.out.print("Numeros lidos: "); 
       
       for(int i = 0; i <array.length; i++ ){
           
           for(int numeros:array){
               
              if(numeros != 0){
                  
                  System.out.print(numeros+" ");
              }else{
                  System.out.print("");
              }

           } // fim for

    }
    
}
    

System.out.print("Digite o 3º numero: ");
    int valor3 = teclado.nextInt();
    
    busca = Arrays.binarySearch(array,valor3);
    
    if(busca < 0){
        
       array[2] = valor3;
       System.out.print("Numeros lidos: "); 
       
       for(int i = 0; i <array.length; i++ ){
           
           for(int numeros:array){
               
              if(numeros != 0){
                  
                  System.out.print(numeros+" ");
              }else{
                  System.out.print("");
              }

           } // fim for
            
        }        

    } else{
       
        
        System.out.print("Numeros lidos: "); 
       
       for(int i = 0; i <array.length; i++ ){
           
           for(int numeros:array){
               
              if(numeros != 0){
                  
                  System.out.print(numeros+" ");
              }else{
                  System.out.print("");
              }

           } // fim for

    }
    
}
    
System.out.print("Digite o 4º numero: ");
    int valor4 = teclado.nextInt();
    
    busca = Arrays.binarySearch(array,valor4);
    
    if(busca < 0){
        
       array[3] = valor4;
       System.out.print("Numeros lidos: "); 
       
       for(int i = 0; i <array.length; i++ ){
           
           for(int numeros:array){
               
              if(numeros != 0){
                  
                  System.out.print(numeros+" ");
                  
              }else{
                  System.out.print("");
              }

           } // fim for
            
        }        

    } else{
       
        
        System.out.print("Numeros lidos: "); 
       
       for(int i = 0; i <array.length; i++ ){
           
           for(int numeros:array){
               
              if(numeros != 0){
                  
                  System.out.print(numeros+" ");
              }else{
                  System.out.print("");
              }

           } // fim for

    }
    
}

System.out.print("Digite o 5º numero: ");
    int valor5 = teclado.nextInt();
    
    busca = Arrays.binarySearch(array,valor5);
    
    if(busca < 0){
        
       array[4] = valor5;
       System.out.print("Numeros lidos: "); 
       
       for(int i = 0; i <array.length; i++ ){
           
           for(int numeros:array){
               
              if(numeros != 0){
                  
                  System.out.print(numeros+" ");
              }else{
                  System.out.print("");
              }

           } // fim for
            
        }        

    } else{
       
        
        System.out.print("Numeros lidos: "); 
       
       for(int i = 0; i <array.length; i++ ){
           
           for(int numeros:array){
               
              if(numeros != 0){
                  
                  System.out.print(numeros+" ");
              }else{
                  System.out.print("");
              }

           } // fim for

    }
    
}    
    
    
    
} // fim metodo main      

} // fim classe principal

Galera eu tentei repessar o algoritmo para Java, porem apresentou alguns erros

Codigo:

public static void main(String[] args) {

    Scanner teclado = new Scanner(System.in);
    
    
    
    int vet[] = new int[5];
    int i,j,k;
    boolean repetido;
    
    System.out.println("Digite numeros entre 10 e 100 (inclusive");
    
    for(i = 1; i <= 5;i++){
        
        System.out.print("Digite o "+i+" numero: ");
        k = teclado.nextInt();
        
        repetido = false;
        
        j = i;
        
        while(j > 0){
            
           k = vet[j];
            
            if((j != i) && (k == vet[i])){
                
                repetido = true;
                
            }
            
            j--;
      
        } // fim while
        
        if(repetido == false){
            
            System.out.println(vet[i]);
            
        }
        
    } // fim for
    
    
    
} // fim metodo main

Console:

Digite numeros entre 10 e 100 (inclusive)
Digite o 1 numero: 1
0
Digite o 2 numero: 2
Digite o 3 numero: 3
Digite o 4 numero: 4
Digite o 5 numero: 5
Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 5
at deitelcomoprogramar8edicaop228ex7.pkg12.DeitelComoProgramar8EdicaoP228Ex712.main(DeitelComoProgramar8EdicaoP228Ex712.java:35)

O algoritmo é, apenas, um “mapa” para implementar. Não deve ser seguido ipsis literis.
O que quero dizer?
Por exemplo, é comum, quando escrevemos algoritmos, considerar que os vetores partam da casa 1, enquanto que, na maioria das linguagens de programação, a primeira posição é a posição 0.
Ou seja, você tem duas alternativas para solucionar este problema (em específico):

for(int i = 0; i < 5; i++){
    System.out.println("Digite o " + (i + 1) +"º número");
   k = Integer.parseInt(teclado.nextLine());
  vet[i] = k;

Ou

for(i = 1; i <= 5;i++){

    System.out.print("Digite o "+i+" numero: ");
    k = teclado.nextInt();
    vet[i - 1] = k;//Veja a mudança nesta linha

Boa noite, galera depois de fazer alguns ajustes enfim consegui resolver o exercicio. Fiz alguns testes e creio que n deixei nada de fora. Obrigado a todos que ajudaram.

public class DeitelComoProgramar8EdicaoP228Ex712 {

public static void main(String[] args) {
    
    Scanner teclado = new Scanner(System.in);
    
    
    
    int vet[] = new int[5];
    int i,j,k;
    
    
    System.out.println("Digite numeros entre 10 e 100 ");
      
     do{
         
       System.out.print("Digite o 1º numero: ");
       k = teclado.nextInt();
       
       if((k < 10) || (k > 100)){
           System.out.println("Numero invalido,insira outro numero.");
       }else{
           vet[0] = k;
           System.out.print(vet[0]+"\n");    
       }
       
     }while((k < 10) || (k > 100));
     
        
    for(i = 1; i < 5;i++){
      
        System.out.print("Digite o "+(i + 1)+" numero: ");
        k = teclado.nextInt();
            

        vet[i] = k;
  
        j = i;
        
        while(j >= 0){
                  
            if((j != i) && (k == vet[j])){
                
                
                vet[i] = 0;
                
            }
            
            if(j == 0){
               break; 
            }
            
            j--;
            
  
        } // fim while
        

        for(int l = 0; l < vet.length;l++){
                
            if(vet[l] != 0){
                    
                System.out.print(vet[l]+" ");
                
            }else{
                
                    System.out.print("");
                    
            }
 
        } // fim for interno
            
        System.out.println();
 
    } // fim for externo
    
    
    
} // fim metodo main      

} // fim classe principal