为了账号安全,请及时绑定邮箱和手机立即绑定

请问该如何判断字符串不是相同数字或者字母?不能全是连续数字?

请问该如何判断字符串不是相同数字或者字母?不能全是连续数字?

江户川乱折腾 2022-10-27 21:18:49
1.不能全是相同的数字或者字母(如:000000、111111、222222、333333等等)2.不能是连续数字(如:123456、12345678、87654321等等)
查看完整描述

3 回答

?
UYOU

TA贡献1878条经验 获得超4个赞

Java代码  

  1. //顺序表  

  2.   static String orderStr = "";  

  3.   static {  

  4.       for (int i = 33; i < 127; i++) {  

  5.           orderStr += Character.toChars(i)[0];  

  6.       }  

  7.   }  

  8.   //判断是否有顺序  

  9.   public static boolean isOrder(String str) {  

  10.       if (!str.matches("((\\d)|([a-z])|([A-Z]))+")) {  

  11.           return false;  

  12.       }  

  13.       return orderStr.contains(str);  

  14.   }  

  15.   //判断是否相同  

  16.   public static boolean isSame(String str) {  

  17.       String regex = str.substring(0, 1) + "{" + str.length() + "}";  

  18.       return str.matches(regex);  

  19.   }  


查看完整回答
反对 回复 2022-11-01
?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

1.不能全是相同的数字或者字母 正则倒是好处理:
boolean unmatch = !"wwwww".matches("(\\w)(\\1)+");
第2点正则不好处理

查看完整回答
反对 回复 2022-11-01
?
MMTTMM

TA贡献1869条经验 获得超4个赞

Java代码  

  1. 稍微写了下 有点粗糙  

  2. import java.util.ArrayList;  

  3. import java.util.Collections;  

  4. import java.util.List;  

  5.   

  6. import org.apache.commons.lang3.StringUtils;  

  7.   

  8.   

  9.   

  10. public class demo {  

  11.     /** 

  12.      * 判断是否是由同一字符构成的,true代表由同一字符构成的 false反之 

  13.      */  

  14.     public static boolean isSameSymbol(String s){  

  15.         boolean flag=false;  

  16.         //当s为空字符串或者null,认为不是由同一字符构成的  

  17.         if(StringUtils.isEmpty(s)){  

  18.             return flag;  

  19.         }  

  20.         //当只有一个字符的时候,认为由同一字符构成  

  21.         if(1==s.length()){  

  22.             flag=true;  

  23.             return flag;  

  24.         }  

  25.         char chacter=s.charAt(0);  

  26.         for(int i=1;i<=s.length()-1;i++){  

  27.             if(chacter!=s.charAt(i)){  

  28.                 flag=false;  

  29.                 return flag;  

  30.             }  

  31.         }  

  32.         flag=true;  

  33.         return flag;  

  34.     }  

  35.     /** 

  36.      * 判断是否有顺序 true代表有顺序 false反之 

  37.      */  

  38.     public static boolean isOrdered(String s){  

  39.         boolean flag=false;  

  40.         //当s为空字符串或者null,认为不是由同一字符构成的  

  41.         if(StringUtils.isEmpty(s)){  

  42.             return flag;  

  43.         }  

  44.         //当只有一个字符的时候,认为由同一字符构成  

  45.         if(1==s.length()){  

  46.             flag=true;  

  47.             return flag;  

  48.         }  

  49.         List<Integer> temp1= new ArrayList<Integer>();  

  50.         List<Integer> temp2= new ArrayList<Integer>();  

  51.         for(int i=0;i<s.length();i++){  

  52.             temp1.add(Integer.valueOf(s.substring(i,i+1)));  

  53.         }  

  54.         for(int i=0;i<s.length();i++){  

  55.             temp2.add(Integer.valueOf(s.substring(i,i+1)));  

  56.         }  

  57.         Collections.sort(temp1);  

  58.         StringBuffer orderedAsc=new StringBuffer();  

  59.         for(Integer i:temp1){  

  60.             orderedAsc.append(i);  

  61.         }  

  62.         Collections.sort(temp2);  

  63.         Collections.reverse(temp2);  

  64.         StringBuffer orderedDec=new StringBuffer();  

  65.         for(Integer i:temp2){  

  66.             orderedDec.append(i);  

  67.         }  

  68.         if(s.equals(orderedDec.substring(0))||s.equals(orderedAsc.substring(0))){  

  69.             flag=true;  

  70.             return flag;  

  71.         }  

  72.         return flag;  

  73.     }  

  74.     public static void main(String[] args) {  

  75.         System.out.println(isSameSymbol("ssss"));  

  76.         System.out.println(isSameSymbol("saaa"));  

  77.         System.out.println(isOrdered("12345"));  

  78.         System.out.println(isOrdered("54321"));  

  79.         System.out.println(isOrdered("54451"));  

  80.     }  

  81. }  


查看完整回答
反对 回复 2022-11-01
  • 3 回答
  • 0 关注
  • 90 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信