说明
a-z
A-Z
+
-
;0-9
组成,如 0 2 3 002 102
-
开头,数字部分由一个或者多个0-9
组成,如 -0 -012 -23 -00023
包含数字的字符串
所有整数的最小和
bb1234aa
10
bb12-34aa
-31
1+2+(-34) = 31
import java.util.Scanner;
/**
* Created with IntelliJ IDEA.
* Author: Amos
* E-mail: amos@amoscloud.com
* Date: 2021/4/25
* Time: 16:29
* Description:
*/
public class Main0047 {
public static void main(String[] args) {
try (Scanner scanner = new Scanner(System.in)) {
String line = scanner.nextLine();
int sum = solution(line);
System.out.println(sum);
}
}
private static int solution(String line) {
char[] chars = line.toCharArray();
int sum = 0;
for (int i = 0; i < chars.length; i++) {
char c = chars[i];
if (c == '-') {
i++;
int start = i;
while (i < chars.length && Character.isDigit(chars[i])) {
i++;
}
String substring = line.substring(start, i);
if (substring.length() > 0) {
sum -= Integer.parseInt(substring);
}
i--;
continue;
}
if (Character.isDigit(c)) {
sum += Character.digit(c, 10);
}
}
return sum;
}
}