Ho fatto un esercizio che richiedeva, come da titolo, di controllare se un numero fosse primo allora ho proceduto così:
codice:
import java.util.*;
public class NumeroPrimo{
public static void main(String[] args){
Scanner read = new Scanner(System.in);
System.out.println("Inserisci il numero che vuoi verificare:");
int n = read.nextInt();
int d = 0;
for(int i=2; i<=(n/2); i++){
if(n%i==0){
System.out.println(n+" è divisibile per "+i);
d = i;
}
}
if(d == 0);
System.out.println(n+" e' primo");
}
}
solo che quando inserisco un numero non primo, alla fine mi dice lo stesso che è primo!
Forse la variabile d fuori dal ciclo non viene modificata? Se no dove ho sbagliato?