import java.util.Scanner; import java.util.ArrayList; import java.util.List; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); List<String> list = new ArrayList<>(); //使用list集合存储我们找到的连续的数字信息 String word = ""; // 注意 hasNext 和 hasNextLine 的区别 String str = in.nextLine(); //获取字符串 for (int i = 0; i < str.length(); i++) { char s = str.charAt(i); //拿出来的是char类型 if (s >= '0' && s <= '9') { //符合数字 word += s; } else { if (word != "") { //因为可能同时遇到连续的字母 list.add(String.valueOf(word));//把单词加到集合中去(要先转换为String类型) } word = ""; //Word重新清空 } } if (word.charAt(0) >= '0' &&word.charAt(0) <= '9') { //最后一块,要判断加不加,因为到最后就直接跳出for了,还没有判断 list.add(String.valueOf(word));//把单词加到集合中去 } String max = list.get(0); //先从0开始 //拿到所有数据后,找到最大的即可 for (int j = 1; j < list.size(); j++) { if (max.length() < list.get(j).length()) { max = list.get(j); //更新max } } System.out.print(max); } }