Java查询判断素数实验报告

实验源代码:

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]);
                }
            }
            
            }
}

实验结果:

猜你喜欢

转载自www.cnblogs.com/zlc364624/p/9786299.html