Java 当用户输入零或负整数时,将停止生成EMIRP。
我使用Java创建了一个程序,该程序通过用户输入生成EMIRP,但我需要帮助在输入零或负整数时停止用户。我尝试过很多方法,但当我用零或负数运行程序时,它会变得疯狂,给我无限多的数字。如果有人能在这方面帮助我,我将不胜感激 这是我到目前为止得到的Java 当用户输入零或负整数时,将停止生成EMIRP。,java,primes,Java,Primes,我使用Java创建了一个程序,该程序通过用户输入生成EMIRP,但我需要帮助在输入零或负整数时停止用户。我尝试过很多方法,但当我用零或负数运行程序时,它会变得疯狂,给我无限多的数字。如果有人能在这方面帮助我,我将不胜感激 这是我到目前为止得到的 import java.util.Scanner; public class GenerateEmirps { public static void main(String[] args) { Scanner scanner =
import java.util.Scanner;
public class GenerateEmirps {
public static void main(String[] args) {
Scanner scanner = new Scanner (System.in);
System.out.print("Enter number of desired emirps: ");
int emrips = scanner.nextInt();
int count = 1;
for( int i = 2; ; i++){
if ((isPrime(i)) && (isPrime(reverseIt(i))) && (!isPalindrome(i))) {
System.out.print(i + " ");
if (count % 10 == 0) {
System.out.println();
}
if (count == emrips){
break;
}
count++;
}
}
}
public static boolean isPrime(int num){
for (int i = 2; i <=num / 2; i++){
if (num % i == 0) {
return false;
}
}
return true;
}
public static int reverseIt(int num){
int result = 0;
while (num != 0) {
int lastDigit = num % 10;
result = result * 10 + lastDigit;
num /= 10;
}
return result;
}
public static boolean isPalindrome(int num){
return num == reverseIt(num);
}
}
import java.util.Scanner;
公共类生成器mirps{
公共静态void main(字符串[]args){
扫描仪=新的扫描仪(System.in);
System.out.print(“输入所需EMIRP的数量:”);
int-emrips=scanner.nextInt();
整数计数=1;
for(int i=2;i++){
如果((isPrime(i))和((isPrime(reverseIt(i))和(!isAlindrome(i))){
系统输出打印(i+“”);
如果(计数%10==0){
System.out.println();
}
如果(计数=emrips){
打破
}
计数++;
}
}
}
公共静态布尔值isPrime(int num){
对于(int i=2;i)解决方案:
您只需要在处理输入之前测试它
int emrips = scanner.nextInt();
if (emrips <= 0) { System.exit(0); }
int-emrips=scanner.nextInt();
如果(emrips