题解 | #在字符串中找出连续最长的数字串#
在字符串中找出连续最长的数字串
https://www.nowcoder.com/practice/2c81f88ecd5a4cc395b5308a99afbbec
import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { test92(); } public static void test92() { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNext()) { String str1 = in.nextLine(); List<String> list = new ArrayList<>(); char[] ch = str1.toCharArray(); for (int i = 0; i < ch.length; i++) { if (ch[i] >= '0' && ch[i] <= '9') { list.add(String.valueOf(ch[i])); if (i + 1 == ch.length) { continue; } for (int j = i + 1; j < ch.length; j++) { if (ch[j] >= '0' && ch[j] <= '9') { list.add(str1.substring(i, j + 1)); } else { break; } } } } int max = 1; for (int i = 0; i < list.size(); i++) { max = Math.max(max, list.get(i).length()); } StringBuilder sb = new StringBuilder(); for (int i = 0; i < list.size(); i++) { if (list.get(i).length() == max) { sb.append(list.get(i)); } } System.out.println(sb + "," + max); } } }