题解 | #在字符串中找出连续最长的数字串#
在字符串中找出连续最长的数字串
https://www.nowcoder.com/practice/2c81f88ecd5a4cc395b5308a99afbbec
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNextLine()) { // 注意 while 处理多个 case
String s = in.nextLine();
char[] arr = s.toCharArray();
StringBuffer sb = new StringBuffer();
int maxLen = 0;
boolean isDigit = false;
for (int i = 0; i < arr.length; i++) { //此循环遍历所有字符
if (Character.isDigit(arr[i])) {
StringBuffer tempSb = new StringBuffer();
int count = 0;
for (int j = i; j < arr.length; j++) { //此循环处理连续的数字
if (!Character.isDigit(arr[j])) {
break;
}
tempSb.append(arr[j]);
count++;
}
if (maxLen < count) {
sb = tempSb;
maxLen = count;
} else if (maxLen == count) {
sb.append(tempSb);
}
i = i + count; //字符下标跳转到已经处理后的下标位置
}
}
System.out.println(sb.toString() + "," + maxLen);
maxLen = 0;
sb = new StringBuffer();
}
}
}
