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

📄 prime.java

📁 用java做的小程序万年历
💻 JAVA
字号:
import java.io.*;

class Prime{
	private int [] a;
	
	Prime(int n){
		a = new int[n<1?1:n];	
	}
	
	/*
	  对该程序,计算的最佳方法是:
	  因为每个非素数都可分解为素数的乘积,故从已经获得的Prime数组里取出各个数来看是否
	  能被test整除,同时满足取出的数字不比test的平方根的ceil大,这是最快的方法,最大限
	  度的删除了不必要的测试数字
	*/
	void getPrimeNumber(){
		a[0]=2;
		for(int test=3,numOfN=1;numOfN<=a.length-1;test+=2){
			int p=3,temp=(int)Math.ceil(Math.sqrt(test));
			for(;p<=temp&&test%p!=0;p+=2);
			if(p>temp)
				a[numOfN++]=test;
		}
	}
	
	void printPrimeNumber(){
		for(int i=1;i<=5;i++){
			if(i>a.length)
				break;
			System.out.println("-"+i+"-   "+a[i-1]);
		}
		if(a.length>10)
			System.out.println("...");
		for(int i=a.length-4;i<=a.length;i++){
			if(i<6)
				continue;
			System.out.println("-"+i+"-   "+a[i-1]);
		}
		String n_th;
		switch(a.length){
			case 1 : n_th="first";break;
			case 2 : n_th="second";break;
			case 3 : n_th="third";break;
			default : n_th=Integer.toString(a.length)+"-th";
		}
		System.out.println("The "+n_th+" prime number is "+a[a.length-1]+".");
	}
	
	public static void main(String [] args){
		if(args.length==0){
			System.out.println("You should supply an argument that indicates the count of prime number");
			System.out.println(System.err);
			System.exit(0);
		}
		Prime prime = new Prime(Integer.parseInt(args[0]));
		prime.getPrimeNumber();
		prime.printPrimeNumber();
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -