zoukankan      html  css  js  c++  java
  • 巧用正则表达式判断是否为整数

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

  • 相关阅读:
    Spring第一次测试错题解析
    正则回顾
    Spring经典---AOP
    动态代理
    MyBatis第一次测试卷---错题分析
    JS中对数组元素进行增删改移
    限制条件补全代码系列题
    字符串去空格
    数组去重
    数组排序
  • 原文地址:https://www.cnblogs.com/dengshiwei/p/4258426.html
Copyright © 2011-2022 走看看