java 素数(按要求输出)

本文介绍了一个Java程序,用于判断并打印素数。程序提供了三种模式:1. 打印3到100之间的所有素数;2. 输入任意两个整数,打印其间的所有素数;3. 输入两个整数,打印其间最大的十个和最小的十个素数。通过使用Scanner类读取用户输入,并利用数学方法检查素数。
package number;
import java.util.Scanner;
public class Prime {
	public static void main(String[] args) {
			int i = 0;
			System.out.println("1.3-100 2.任意两数 3.最大十个和最小十个");
			Scanner sc = new Scanner(System.in);
			i = sc.nextInt();
			switch (i) {
			case 1:
				isprime();
				break;
			case 2:
				isprime1();
				break;
			case 3:
				isprime2();
				break;
			}
		}

		public static void isprime() {
			int n;
			int i = 2;
			int m = 0;
			for (n = 3; n >= 3 && n <= 100; n++) {
				int j = 0;
				if (n % 2 == 0)
					j = 1;
				for (i = 2; i <= Math.sqrt(n); i++) {
					if (n % i == 0)
						j = 1;
				}
				if (j == 0) {
					m++;
					System.out.print(n + "\t");
					if (m % 5 == 0)
						System.out.println();
				}
			}
			System.out.println();
		}

		public static void isprime1() {
			System.out.println("请输入两个整数:");
			Scanner sc = new Scanner(System.in);
			int num1, num2;
			System.out.println("number1:");
			num1 = sc.nextInt();
			System.out.println("number2:");
			num2 = sc.nextInt();
			int n;
			int i = 2;
			int m = 0;
			for (n = num1; n >= num1 && n <= num2; n++) {
				int j = 0;
				if (n % 2 == 0)
					j = 1;
				for (i = 2; i <= Math.sqrt(n); i++) {
					if (n % i == 0)
						j = 1;
				}
				if (j == 0) {
					m++;
					System.out.print(n + "\t");
					if (m % 5 == 0)
						System.out.println();
				}
			}
		}

		public static void isprime2() {
			Scanner sc = new Scanner(System.in);
			System.out.println("请输入两个整数:");
			int num1, num2;
			System.out.println("number1:");
			num1 = sc.nextInt();
			System.out.println("number2:");
			num2 = sc.nextInt();
			System.out.println("十个最小:");
			int n;
			int i = 2;
			int m = 0;
			int k = 0;
			int a[] = new int[100];
			for (n = num1; n >= num1 && n <= num2; n++) {
				int j = 0;
				
				if (n % 2 == 0)
					j = 1;
				for (i = 2; i <= Math.sqrt(n); i++) {
					if (n % i == 0)
						j = 1;
				}
				if (j == 0) {
					m++;
					a[m] = n;
					if (m <= 10)
						System.out.print(a[m] + "\t");
				}
			}
			System.out.println();
			System.out.println("十个最大:");
			for (k = m - 10; k <= m; k++) {
				System.out.print(a[k] + "\t");
			}

		}
	}

  

转载于:https://www.cnblogs.com/zmh-980509/p/9786758.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值