What is wrong in my code?

package OOPS;

import java.util.Arrays;
import java.util.Scanner;
import java.util.Stack;

public class playingwithcards {

public static void main(String[] args) {
	Scanner scn = new Scanner(System.in);
	int n = scn.nextInt();

	int[] primesarr = SOE(100000);

	int[] inputarr = new int[n];
	int Q = scn.nextInt();
	for (int i = 0; i < n; i++) {
		inputarr[i] = scn.nextInt();

	}

	Stack<Integer> b = new Stack<>();
	for (int j = 1; j <= Q; j++) {
		int primeno = primesarr[j - 1];
		for (int i = 0; i < inputarr.length; i++) {

			if (inputarr[i] % primeno == 0) {

				b.push(inputarr[i]);
				inputarr[i] = 0;

			}

		}

	}
	for (int i = 0; i < inputarr.length; i++) {
		if (inputarr[i] != 0) {
			b.push(inputarr[i]);
		}

	}

	reversestack(b);

}

public static void reversestack(Stack<Integer> s) {

	if (s.isEmpty()) {
		return;
	}

	int item = s.pop();
	reversestack(s);
	System.out.println(item);
	s.push(item);

}

public static int[] SOE(int n) {

	Stack<Integer> a = new Stack<>();
	boolean[] primes = new boolean[n + 1];
	int[] arr1 = new int[primes.length];
	int[] arr2 = new int[primes.length];

	Arrays.fill(primes, true);
	primes[0] = primes[1] = false;
	for (int table = 2; table * table <= n; table++) {
		if (primes[table] == false) {
			continue;
		} else {
			for (int multi = 2; table * multi <= n; multi++) {
				primes[table * multi] = false;
			}
		}
	}
	for (int i = 0; i < primes.length; i++) {
		int a1 = 0;
		if (primes[i]) {
			a1 = i;
		}
		arr1[i] = a1;

	}
	for (int x = 0; x < primes.length; x++) {
		if (arr1[x] != 0) {
			a.push(arr1[x]);
		}
	}
	reversestack(a);
	for (int x1 = 0; x1 < primes.length; x1++) {
		while (a.isEmpty()) {
			int item = a.pop();
			arr2[x1]=item;
		}

	}
	return arr2;

}

}

please share it on ide.codingblocks.com and also explain the error you are getting

this is my code plz tell what is wrong in my code

What error are you getting? Wrong answer or Time limit exceeded?