实验源代码:
package sushu; import java.util.Scanner; public class First { int size=2; int data[]=new int[100]; int data1[]=new int[1000]; Scanner input=new Scanner(System.in); //界面 public void menu() { System.out.println(); System.out.println("1.输出3-100所有素数"); System.out.println("2.输出任意两个数之间的所有素数"); System.out.println("3.两个整数之间的最大的10个和最小的10个素数"); System.out.println(" 请输入:"); String choice1=input.next(); switch(choice1) { case "1": sushu1(); break; case "2": sushu2(); break; case "3": sushu3(); break; } } public void sushu1() { int massage1=0; size=2; data[1]=3; for(int whole=4;whole<=100;whole++) { for(int i=2;i<=Math.sqrt(whole);i++) { if(whole%i==0) { massage1=1; break; } } if(massage1==0) { data[size]=whole; size++; massage1=0; } if(massage1==1) { massage1=0; } } System.out.println("素数如下:"); for(int i=1;i<size;i++) { System.out.print(data[i]+"\t"); if(i%5==0) { System.out.println(); } } } public void sushu2() { System.out.println("请输入下限:"); int min=input.nextInt(); System.out.println("请输入上限:"); int max=input.nextInt(); int massage1=0; if(max<=3) { System.out.println("素数如下:"); System.out.println("2"+"\t"+"3"); } if(max>3) { data1[1]=3; size=2; for(int j=min;j<=max;j++) { for(int i=2;i<=Math.sqrt(j);i++) { if(j%i==0) { massage1=1; break; } } if(massage1==0) { data1[size]=j; size++; massage1=0; } if(massage1==1) { massage1=0; } } System.out.println("素数如下:"); for(int i=1;i<size;i++) { System.out.print(data1[i]+"\t"); if(i%5==0) { System.out.println(); } } } } public void sushu3() { System.out.println("请输入下限:"); int min=input.nextInt(); System.out.println("请输入上限:"); int max=input.nextInt(); int massage1=0; if(max<=3) { System.out.println("素数如下:"); System.out.println("2"+"\t"+"3"); } if(max>3) { data1[1]=3; size=2; for(int j=min;j<=max;j++) { for(int i=2;i<=Math.sqrt(j);i++) { if(j%i==0) { massage1=1; break; } } if(massage1==0) { data1[size]=j; size++; massage1=0; } if(massage1==1) { massage1=0; } } System.out.println("最小的十个素数:"); for(int i=1;i<=10;i++) { System.out.println(data1[i]); } System.out.println("最大的十个素数:"); for(int i=size-1;i>=(size-10);i--) { System.out.println(data1[i]); } } } }
实验结果: