如何修改Java素数判断代码 实现持续输入数字直到获取素数为止
Java代码修改方案
核心修改点
要实现持续输入直到检测到素数再停止的效果,只需对原代码做3处调整:
- 外层新增无限循环,包裹输入、素数判定的全流程
- 每次完成素数判定后,若结果为素数则跳出循环,否则继续下一轮输入提示
- 把原代码中提前关闭Scanner的逻辑移到循环结束之后,避免后续输入触发IO异常
另外我们顺手修复了原代码的逻辑漏洞:原代码输入小于2的数时会误判为素数,新增了边界判断逻辑。
修改后完整代码
import java.util.Scanner; class SieteDosEjerSeis { public static void main(String args[]) { int temp; boolean isPrime; Scanner scan = new Scanner(System.in); while (true) { // 外层无限循环实现持续输入 System.out.println("Enter a number:"); int num = scan.nextInt(); isPrime = true; // 补全边界判定:小于2的数都不是素数 if (num < 2) { isPrime = false; } else { for(int i=2;i<=num/2;i++) { temp=num%i; if(temp==0) { isPrime=false; break; } } } if(isPrime) { System.out.println(num + " is a Prime Number"); break; // 检测到素数,终止循环 } else { System.out.println(num + " is not a Prime Number"); } } scan.close(); // 循环结束后再关闭资源 } }
运行效果说明
程序启动后会反复提示用户输入数字,每次输入后都会输出对应数字是否为素数的提示,直到输入的数字为素数时,程序输出对应提示后自动终止运行。
内容的提问来源于stack exchange,提问作者Emmy
相关产品推荐
相关产品推荐

