巧用正则表达式判断是否为整数
发布时间:2020-12-14 01:26:48 所属栏目:百科 来源:网络整理
导读:import java.util.*;import java.util.regex.*;class JudegePrime{public static void main(String[] args) {Scanner sc =new Scanner(System.in);String sRegex = "^[1-9]d*$";Pattern p = Pattern.compile(sRegex);Matcher m = null;while(true){System.
import java.util.*; import java.util.regex.*; class JudegePrime { public static void main(String[] args) { Scanner sc =new Scanner(System.in); String sRegex = "^[1-9]d*$"; Pattern p = Pattern.compile(sRegex); Matcher m = null; while(true) { System.out.println("请输入数据m:"); String sValue = sc.next(); m = p.matcher(sValue); if(!m.matches()) { System.out.println("输入数据不符合要求,请重新输入。"); continue; } if(bIsPrime(Integer.parseInt(sValue))) { System.out.println(sValue + "是素数。"); } else { System.out.println(sValue + "不是素数。"); } } } /* 用6N±1法求素数。 任何一个自然数,总可以表示成为如下的形式之一: 6N,6N+1,6N+2,6N+3,6N+4,6N+5 (N=0,1,2,…) 显然,当N≥1时,6N,6N+2,6N+3,6N+4都不是素数,只有形如6N+1和6N+5的自然数有可能是素数。所以,除了2和3之外, 所有的素数都可以表示成6N±1的形式(N为自然数)。 */ private static boolean bIsPrime(int n) { if(n<2)return false; if(n==2 ||n==3)return true; if((n-1)%6==0 ||(n-5) % 6==0)return true; return false; } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |