Estrutura de dados (Vetor)

Estou tendo um problema com uma questão do curso que estou fazendo, a questão manda criar um vetor com 10 posições (1~10) em ordem crescente. Ler um numero, verificar se ele existe no vetor e remove-lo, a remoção tem que ser logica (não entendir essa remoção logica na explicação)
Conseguir criar o codigo mas ele so remove os numeros 1,2 e 3

import java.util.Arrays;

public class Atividade1 {

private int[] inteiros;
private int tamanho;

public Atividade1(int capacidade) {
	
	this.inteiros = new int[capacidade];
	this.tamanho = 0;
	
}

public void remove(int nume) {
	int aux= 0;
	for(int i = 0; i < this.inteiros.length; i++) {
		aux++;
		if(nume == this.inteiros[i]) {
			for(int j = aux; j < this.tamanho - 1;  j++) {
				this.inteiros[i] = this.inteiros[i+1];
			}
		}
	}
}

@Override
public String toString() {
	Arrays.sort(this.inteiros);
	return Arrays.toString(inteiros);
}

}

import java.util.Scanner;

public class Teste2 {

public static void main(String[] args) {
	Scanner sc = new Scanner(System.in);
	Atividade1 a2 = new Atividade1(10);
	a2.Adicionar(2);
	a2.Adicionar(9);
	a2.Adicionar(8);
	a2.Adicionar(5);
	a2.Adicionar(1);
	a2.Adicionar(3);
	a2.Adicionar(7);
	a2.Adicionar(6);
	a2.Adicionar(4);
	a2.Adicionar(10);
	System.out.println("Digite um numero inteiro para deletar do vetor:");
	int d = sc.nextInt();
	a2.remove(d);
	System.out.println(a2.toString());

}

}