J'ai écrit ce programme pour générer des nombres premiers entre deux valeurs. Cela fonctionne parfaitement pour les valeurs entières. J'ai essayé de le faire fonctionner pour des valeurs entières longues mais le programme se termine sans traitement à chaque fois que de longues valeurs entières sont entrées. S'il vous plaît aidez-moi à trouver le problème avec le code
Le code se déroule comme suit.Premier générateur en Java
public class Prime_generator
{
public static void main(String[] args) {
Scanner src = new Scanner(System.in);
Prime_generator obj = new Prime_generator();
int t, i, a;
t = src.nextInt();
if (t > 10)
System.exit(0);
long a1[] = new long[t];
long a2[] = new long[t];
for (i = 0; i < t; i++) {
a1[i] = src.nextLong();
a2[i] = src.nextLong();
}
for (a = 0; a < t; a++)
{
if (a1[a] >= 1 && a1[a] <= 1000000000 && a2[a] >= 1 && a2[a] <= 1000000000 && a2[a] - a1[a] <= 100000 && a1[a] <= a2[a])
obj.prime(a1[a], a2[a]);
else
System.exit(0);
}
}
void prime(long m, long n)
{
long j,k;
long c=0L;
for(j=m;j<=n;j++)
{
c=0L;
for(k=2;k<j/2;k++)
{
if((long)j%k==0L)
c++;
}
if(c==0L)
System.out.println(j);
}
System.out.println(" ");
}
}
débordement Probablement entier – GurV