⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test1.java

📁 java的3个小实验
💻 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 + -