尝试将字母数字字符串中的数字增加一个数字n,并返回结果,在字符串索引中的相同位置返回数字增加的结果。如果数字为9,则输出应换为0、1、2、3,....,依此类推,直到9 `即字符串输入=“ abc123de45” n = 2 打印=“ abc345de67”
.coach {
display:none;
}
.-enable {
display:block;
}
答案 0 :(得分:0)
如果if语句为true,则可以尝试使用StringBuilder更新字符串。
public static StringBuilder numericInt(String a,int b)
{
StringBuilder c = new StringBuilder(a);
for (int i = 0; i < c.length(); i++) {
char tempInp = c.charAt(i);
if (Character.isDigit(tempInp)) {
int temp=(c.charAt(i)-'0')+b;
c.setCharAt(i,(char)(temp+'0'));
}
}
return c;
}
}
答案 1 :(得分:0)
您可以结合使用StringBuilder
并将char
转换为相关的int
值
String inputString = "abc123de45";
int n = 2;
StringBuilder buf = new StringBuilder ();
for (int i = 0; i < inputString.length(); i++) {
char tempInp = inputString.charAt(i);
if (Character.isDigit(tempInp)) {
buf.append ((tempInp -'0') + n);
}
else {
buf.append(tempInp);
}
}
System.out.println(buf.toString());
输出
abc345de67
答案 2 :(得分:-1)
使用Character.getNumericValue(tempInp)
代替sumDigit = tempInp + n
,因为后者只会将字符作为字符串连接在一起,而不添加数字值。
String inputString = "abc123de45" ;
int n = 2;
String newString = "";
int sumDigit = 0;
for (int i = 0; i < inputString.length(); i++) {
char tempInp = inputString.charAt(i);
if (Character.isDigit(tempInp)) {
sumDigit = Character.getNumericValue(tempInp) + n;
newString += sumDigit;
}
else{
newString += tempInp;
}
}
现在newString
包含:
System.out.println(newString);
// abc345de67