把一个字符串的一部分替换为“*”:
String str = "777777778888877";
System.out.println(str.substring(0, 8)+"*****"+str.substring(13));

解决方案 »

  1.   

    String str = "777777778888877";
    System.out.println(str.substring(0, 8)+"*****"+str.substring(13));
    这样很好了,解决问题了  及时结贴哦
      

  2.   

    public class Test3 {
        
        public static void main(String[] args) {
            String str = "1234567890123";
            System.out.println(shieldNumber(str, 8, 4));
        }
        
        /**
         * 将字符串中的一些字符置为 *
         * @param str       字符串
         * @param start     置为 * 的起始位置
         * @param len       置为 * 的长度
         * @return
         */
        public static String shieldNumber(String str, int start, int len) {
            if(str == null) {
                return null;
            }
            if(str.length() == 0 || len == 0) {
                return str;
            }
            if(start < 0 || len < 0) {
                throw new IllegalArgumentException("start and len must be great than 0.");            
            }
            char[] chs = str.toCharArray();
            for(int i = start, j = 0; (i < chs.length) && (j < len); j++) {
                chs[i++] = '*';
            }
            return new String(chs);
        }
    }