gpt4 book ai didi

java - 不使用正则表达式从随机字符串返回所有整数的总和

转载 作者:行者123 更新时间:2023-11-29 07:43:07 24 4
gpt4 key购买 nike

最近在面试中被问到这个问题(Java programming que)

返回随机字符串中所有整数的总和。

最佳答案

只需遍历字符串,一次处理一个数字。这几乎正​​是正则表达式无论如何都会做的事情:

    String testStrings[] = { "-1a2b3c", "123ab!45c", "abcdef", "0123.4",
"dFD$#23+++12@#T1234;/.,10" };

for (String testString : testStrings) {
String currentNumber = "";
int sum = 0;
for (int i = 0; i < testString.length(); i++) {
char currentChar = testString.charAt(i);

// Add digits or a leading minus to "currentNumber"
if (Character.isDigit(currentChar)
|| (currentNumber.equals("") && currentChar == '-')) {
currentNumber += currentChar;
} else {
// We've stumbled across a non-digit char.
//Try to parse the "currentNumber" we have so far
if (!currentNumber.equals("") && !currentNumber.equals("-"))
sum += Integer.parseInt(currentNumber);
currentNumber = "";
}
}

// Add the last "currentNumber" in case the string ends with a
// number
if (!currentNumber.equals("") && !currentNumber.equals("-"))
sum += Integer.parseInt(currentNumber);
System.out.println(sum);
}

输出:

4
168
0
127
1279

关于java - 不使用正则表达式从随机字符串返回所有整数的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28227772/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com