java - 如果字符串内部有数字,则将数字平方并作为字符串返回。我如何用平方数Java替换旧数字
问题描述
所以它应该这样工作
"a44b" 上的 squareDigits("a22b")
"a81b4" 上的 squareDigits("a9b2")
到目前为止我得到了什么:
public class Code {
public static void main(String[] args) {
String ok = "a2b9";
System.out.println(squareDigits(ok)); // "a81b4"
}
public static String squareDigits(String s) {
char[] pena = s.toCharArray();
int aboba;
for (char c : pena) {
if (Character.isDigit(c)) {
String s1 = Character.toString(c);
int b = Integer.parseInt(s1);
aboba = b * b;
System.out.println(aboba);
}
}
return "";
}
}
我只是初学者,这对我很有帮助
解决方案
您可以StringBuffer
对 char 数组进行迭代并检查 char 是否为数字,然后将其平方并放入字符串缓冲区,如果不是,则将其按原样放入字符串缓冲区中。
public static void main(String[] args) {
System.out.println(squareDigits("a22b"));
System.out.println(squareDigits("a9b2"));
}
public static String squareDigits(String s) {
char[] pena = s.toCharArray();
StringBuffer sb = new StringBuffer();
for (char c : pena) {
if (Character.isDigit(c)) {
String s1 = Character.toString(c);
int b = Integer.parseInt(s1);
sb.append(b * b);
} else {
sb.append(c);
}
}
return sb.toString();
}
推荐阅读
- .net - .Net 对 WPF 不同操作系统版本的兼容性
- azure-cosmosdb - Cosmos DB 索引大小大于数据大小
- spring-boot - 在@Configuration 类中使用配置属性
- java - 使用java将.prn文件转换为html页面
- angular - Angular 6显示延迟加载模块的组件
- pdf - 使 wkhtmltopdf 呈现文本而不是曲线
- c# - 如何通过确认从 Kendo Grid 中删除一行并将所选 ID 传递给 Destroy 方法
- debugging - 尝试在本地IIS vs2017下调试网站项目
- algorithm - 如何将二进制堆转换为二项式队列
- javascript - 饼图切片 - 质心