📄 test1.java
字号:
package src;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.LinkedList;
import java.util.List;
public class Test1 {
//存放分解的因子
private List list=new LinkedList();
/**
* 大数分解
* @param bigNumber
*/
private void reduce(int bigNumber)
{
int firstGene=isPrime(bigNumber);
list.add(new Integer(firstGene));
if(firstGene!=bigNumber)
{
reduce(bigNumber/firstGene);
}
}
/**
* 判断数字是否为质数
* @param x
* @return
*/
private int isPrime(int x)
{
int temp=x;
for(int i=2;i<=Math.sqrt(x);i++)
{
if(x%i==0)
{
temp=i;
break;
}
}
return temp;
}
/**
* 输入大数并将分解后的结果用乘积的形式显示出来
* @throws IOException
* @throws NumberFormatException
*
*/
private void showResult() throws NumberFormatException, IOException
{
//输入大数
int bigNumber=0;
System.out.print("待分解的正整数(1-6位):");
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
bigNumber=new Integer(br.readLine()).intValue();
br.close();
//分解
reduce(bigNumber);
//显示结果
String result="";
int count=list.size();
if(count>0)
{
result=list.get(0).toString();
}
for(int i=1;i<count;i++)
{
result+="*"+list.get(i);
}
System.out.println(result);
}
/**
* @param args
*/
public static void main(String[] args)
{
Test1 test1=new Test1();
try
{
test1.showResult();
}
catch (NumberFormatException e)
{
System.out.println("请正确输入一个1-6位的正整数");
} catch (IOException e) {
System.out.println("输入输出异常");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -