Эта программа позволяет пользователю вводить номер и проверяет, является ли число простым. Однако, если хотите, чтобы программа выходила, когда пользователь вводит «q». Я пробовал несколько вещей (делаю, хотя, если), но ни один из методов, похоже, не работает. Как это вызвано и как я могу его решить?Выход из программы Java при вводе
Ниже приведен исходный код:
// 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.");
}
}
Спасибо! Он работает с использованием «if (str.equals (« q »)) System.exit (1);» – mmenschig
Да. Просто убедитесь, что вы знаете, почему вы должны использовать '.equals()' И не забудьте принять ответ. – Brendan
AFAIK, == может только проверять наличие булевых значений, правильно? Где я могу принять ответ? Я просто нажал «Ответ был полезен», было ли это так? – mmenschig