我有一个长度超过 1000 个字符的字符串。在这个字符串中,我必须每隔 5 个字符打印第一个字符。
我尝试编写一个程序来从第 0 个字符迭代到最后一个字符,并有一个计数变量。
如果 count 等于 5。我正在打印字符,并且 count 初始化为 0。
private static String getMaskedToken(String token) {
if (token == null)
return null;
char[] charArray = token.toCharArray();
int length = token.length();
StringBuilder sb = new StringBuilder();
int count = 0;
for (int i = 0; i < length; i++) {
count++;
if (i == 0 || i == length - 1) {
sb.append(charArray[i]);
} else if (count == 5) {
sb.append(charArray[i]);
count=0;
} else if(count < 5 && i == length-1){
sb.append(charArray[i]);
}else {
sb.append('*');
}
}
return sb.toString();
}
Need to print last character if count is less than 5 of last iteration.
If String of length 9,
"12345678"
then actual output will be like1***5**8
If String of length 9,
"123456789abcd"
then actual output will be like1***5****a**d
最佳答案
String output = "";
for (int i = 0; i < str.length(); i++) {
if (i == 0) {
output += str.charAt(i);
output += "***";
output += str.charAt(4);
i = 4;
} else if ((i - 4) % 5 == 0) {
output += str.charAt(i);
} else if (i == str.length()-1) {
output += str.charAt(i);
} else {
output += "*";
}
}
System.out.println(output);
}
这将为字符串“123456789abcd”打印 1***5****a**d。
关于java - 我需要在java中打印给定字符串中的第1个和每5个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56249876/