ich habe folgendes Programm geschrieben welches nach eingabe einer Zahl bestimmten soll ob diese eine Primzahl ist oder nicht, und wenn nicht den kleinsten gemeinsamen Teiler dieser zahl ausgeben. Bei mir werden aber generell ungerade Zahlen als Primzahl ausgegeben. Kann mir da jemand helfen???
Code:
import java.io.*;
public class primzahl{
public static void main( String[] args )throws IOException
{
boolean t;
int n;
BufferedReader din = new BufferedReader(
new InputStreamReader(System.in));
System.out.println("Bitte Prüfzahl eingeben ");
n = Integer.parseInt(din.readLine()); // Eingabe Prüfzahl
if (n<0){System.out.println("Bitte nur positive Zahlen angeben.");
}
for(int i=2;i<=n-1;i=i+1){
t=true;
if (n<0){System.out.println("Bitte nur positive Zahlen angeben.");
break;} else {
if(n%i==0){
t=false;
}
} if(t==true){System.out.println(n+" ist eine Primzahl ");
} else {
System.out.println(n+ " ist keine Primzahl");
System.out.println(i+ " ist kleinster gemeinsamer Teiler von "+n);
}
break;
}
}
}