import java.util.InputMismatchException;
import java.util.Scanner;
public class Prime_Finder {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int a_number;
int primefactor;
int j;
while (true) {
boolean prime = true;
System.out.println("Enter a positive integer to see it's factors or a negative integer to exit.");
while (true) {
try {
a_number = scan.nextInt();
}
catch ( InputMismatchException e ) {
System.out.println("Error 1: Invalid, must be a whole number such as 12, please try again." );
scan.nextLine(); // clear the buffer
continue;
}
break;
}
if (a_number <= -1)
break;
if (a_number <= 1)
{ System.out.println("The number 1 is prime.");
}
while (true){
for (int i = 2; i < a_number+1; i++)
if (a_number%i == 0) {
for (j = 2; j < i; j++){
if (i%j == 0)
{ prime = false; }
}
if (prime == true) {
System.out.println("The number " +a_number+ " is prime, and has no factors besides " +a_number+ " and 1");
break;}
else {
primefactor = i;
System.out.println("A factor of " +a_number+ " is " +i+ ",");
}
}
break;
}
}
System.out.println("Goodbye");
}
}
This post has been edited by Alaeor: 18 October 2010 - 09:22 AM

New Topic/Question
Reply



MultiQuote






|