求字符串中所有整数的最小和
输入字符串s,输出s中包含所有整数的最小和。
说明:
字符串s,只包含 a-z A-Z ± ;
合法的整数包括
1) 正整数 一个或者多个0-9组成,如 0 2 3 002 102
2)负整数 负号 – 开头,数字部分由一个或者多个0-9组成,如 -0 -012 -23 -00023
输入描述
包含数字的字符串
输出描述
所有整数的最小和
用例
输入
bb1234aa
输出
10
说明
无
输入
bb12-34aa
输出
-31
说明
1+2+(-34) = -31
public static void answer() throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
String s = bf.readLine();
char[] charArr=s.toCharArray();
int res=0;
for (int i = 0; i < charArr.length; i++) {
char c = charArr[i];
// 1. 排除字母和加号
if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || c == '+') {
continue;
}
// 2. 处理减号(负数逻辑)
if (c == '-') {
// 只有后面紧跟数字才处理
if (i + 1 < charArr.length && (charArr[i + 1] >= '0' && charArr[i + 1] <= '9')) {
i++; // 确认是负数,指针后移
StringBuilder sb = new StringBuilder("-");
while (i < charArr.length && (charArr[i] >= '0' && charArr[i] <= '9')) {
sb.append(charArr[i]);
i++;
}
res += Integer.parseInt(sb.toString());
i--; // 回退,抵消循环的i++
}
// 处理完或无效负号,都跳过,防止落入下方逻辑
continue;
}
// 3. 剩下的必然是正整数的单个数字
res += c - '0';
}
System.out.println(res);
}
说明:
字符串s,只包含 a-z A-Z ± ;
合法的整数包括
1) 正整数 一个或者多个0-9组成,如 0 2 3 002 102
2)负整数 负号 – 开头,数字部分由一个或者多个0-9组成,如 -0 -012 -23 -00023
输入描述
包含数字的字符串
输出描述
所有整数的最小和
用例
输入
bb1234aa
输出
10
说明
无
输入
bb12-34aa
输出
-31
说明
1+2+(-34) = -31
public static void answer() throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
String s = bf.readLine();
char[] charArr=s.toCharArray();
int res=0;
for (int i = 0; i < charArr.length; i++) {
char c = charArr[i];
// 1. 排除字母和加号
if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || c == '+') {
continue;
}
// 2. 处理减号(负数逻辑)
if (c == '-') {
// 只有后面紧跟数字才处理
if (i + 1 < charArr.length && (charArr[i + 1] >= '0' && charArr[i + 1] <= '9')) {
i++; // 确认是负数,指针后移
StringBuilder sb = new StringBuilder("-");
while (i < charArr.length && (charArr[i] >= '0' && charArr[i] <= '9')) {
sb.append(charArr[i]);
i++;
}
res += Integer.parseInt(sb.toString());
i--; // 回退,抵消循环的i++
}
// 处理完或无效负号,都跳过,防止落入下方逻辑
continue;
}
// 3. 剩下的必然是正整数的单个数字
res += c - '0';
}
System.out.println(res);
}
全部评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
2025-12-08 19:24
电子科技大学 Java 点赞 评论 收藏
分享
01-02 11:44
门头沟学院 C工程师 点赞 评论 收藏
分享
