package com.my;
import java.util.InputMismatchException;
import java.util.Scanner;
/**
* @author gjx
* @date 2025/4/11 下午1:13
* @description TODO
*/
//输入一个正整数,分解质因数 注意双重循环 跳出
public class Test3 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int s[] ={2,3,5,7,11,13,17,19,23,29};
int input = 0;
while(true){
System.out.println("\n请输入一个正整数,看看我怎么分解:");
try{
input = scanner.nextInt();
}catch (InputMismatchException e) {//注意使用针对性的异常类
System.out.println("错误:输入的不是正整数!");
scanner.nextLine(); // 清除缓冲区残留内容
}
if (input <= 0)
{
System.out.println("数字无效,请按要求输入!");
continue;
}
System.out.println("分解质因数为:");
boolean flag =false;
while (true){
for (int i=0;i<s.length;){
if (input%s[i] == 0){
input = input/s[i];
System.out.print(s[i]+"\t");
}
else {
i++;
}
if (input == 1){//结束条件要补充
flag = true;
break;
}
if (i == s.length && input>1){
System.out.println("抱歉,无法分解!");
flag = true;
break;
}
}
if (flag)
break;
}
}
}
}
限制级分解质因数
最新推荐文章于 2025-12-28 16:49:38 发布
1007

被折叠的 条评论
为什么被折叠?



