题解 | #在字符串中找出连续最长的数字串#
在字符串中找出连续最长的数字串
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(); } } }