このプログラムは、ユーザーに数値を入力させ、その数値が素数かどうかをチェックします。ただし、ユーザーが「q」を入力したときにプログラムを終了する場合。私はいくつかのことを試しましたが(do while、if)、どの方法も機能していないようです。これはどのように発生し、どうすれば解決できますか?
以下はソースコードです。
// Test for primes 2
import java.io.*;
class FindPrime2 {
public static void main(String args[])
throws IOException {
// int num;
boolean isPrime;
String str;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("\nFINDING PRIME NUMBERS v0.1");
System.out.print("\nPlease enter a number: ");
str = br.readLine();
if(str == "q") System.exit(1);
int num = Integer.valueOf(str);
System.out.println("You have picked: " + num);
if(num < 2) isPrime = false;
else isPrime = true;
for(int i=2; i <= num/i; i++) {
if((num % i) == 0) {
isPrime = false;
break;
}
}
if(isPrime) System.out.println(num +" is Prime.");
else System.out.println(num + " is not Prime.");
}
}