Primevist test case 2 is not submitting

my prime visit code is not submitting always giving test case 2 error dont know how to solve this test case
my code
:
package practice;
import java.util.*;
public class PrimeVisit {
main() {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
while(n!=0){
int low = sc.nextInt();
int high=sc.nextInt();
int count=0;
while (low < high)
{if(low==1 || low==0)
count=-1;
boolean flag = false;

	for(int i = 2; i <= low/2; ++i) {
		if(low % i == 0) {
	flag = true;
	break;
	}
	}
	
	if (!flag)
		count++;
	
	++low;
	}
	
	System.out.println(count);
	
	n--;
	}
}

}

use sieve of eratosthenes concept

import java.util.*;

public class Main {
static boolean prime[] = new boolean[1000000];

public static void main(String args[]) {
	Scanner s = new Scanner(System.in);
	int n = s.nextInt();
	while(n-- >0){
		int a = s.nextInt();
		int b = s.nextInt();
		int x = 0;
		soe(b);
		for (; a <= b; a++) {
			if (prime[a]) {
				x++;
			}
		}
		System.out.println(x);
	}
}

public static void soe(int n) {

	for (int i = 0; i < prime.length; i++) {
		prime[i] = true;
	}
	prime[0] = false;
	prime[1] = false;
	int ntest = 2;
	while (ntest * ntest < n) {
		if (prime[ntest]) {
			for (int mul = 2; mul * ntest <= n; mul++) {
				prime[mul * ntest] = false;
			}
		}
		ntest++;
	}
}

}