如何判断连号(如123456),同号(如666666),双连号(如:112233)的简单算法...

如何判断连号(如123456),同号(如666666),双连号(如:112233)的简单算法...关于一个网友提出的一个如何判断连号 如 同号 如 双连号 如 的简单算法 想来也不是很复杂 我思考后的一种解答 共大家参考 package com ibm demo

大家好,我是讯享网,很高兴认识大家。

关于一个网友提出的一个如何判断连号(如),同号(如),双连号(如:)的简单算法,想来也不是很复杂,我思考后的一种解答,共大家参考。

 

package com.ibm.demo; import java.util.regex.Matcher; import java.util.regex.Pattern; / * 简单例子判断连号,同号,双连号。 * @author Frank * @version 1.0 * @since 2010.6.8 */ public class T { public static boolean check(String str) { boolean b = true; String message = "不符合要求。"; long l = str.length(); if (l < 6||!check2(str)) { b = false; } else { char[] c = str.toCharArray(); for (int i = 0; i < c.length - 1; i++) { if (c[i + 1] - c[i] != 0) { b = false; break; } } message = l+"位同号"+str; if(!b){ b = true; for (int i = 0; i < c.length - 1; i++) { if (c[i + 1] - c[i] != 1) { b = false; break; } } message = l+"位连号"+str; if(!b){ b = true; if(c.length % 2 == 0){ for (int i = 0; i < c.length - 2; i++) { if (!(c[i + 1] - c[i] == 0&&c[i + 2] - c[i+1] ==1)&&!(c[i + 1] - c[i] == 1&&c[i + 2] - c[i+1] ==0)) { b = false; break; } } if(b){ message = l+"位双连号"+str; }else{ message = "不符合要求。"; } }else{ b = false; message = "不符合要求。"; } } } } System.out.println(message); return b; } public static boolean check2(String str) { boolean b = false; String expr = "\\d+"; //b = str.matches(expr); // simple way to check type Pattern p = Pattern.compile(expr); Matcher m = p.matcher(str); b = m.matches(); return b; } public static void main(String[] args) { String s1 = ""; String s2 = ""; String s3 = ""; System.out.println(check(s1)); System.out.println(check(s2)); System.out.println(check(s3)); } } 

讯享网

 


讯享网

 

 

小讯
上一篇 2025-01-14 10:26
下一篇 2025-02-11 18:07

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/57445.html