首先有两个public类是不行的,其次,name设置为private,则在child类中不能访问到
这里需要在子类中调用父类的构造方法
执行start方法后,才执行
import java.util.Scanner;
public class Main1 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String str = in.nextLine();
String ret = "";
int count = 0;
for(int i = 0;i<str.length();i++) {
if(str.charAt(i)>='0'&&str.charAt(i)<='9') {
int index = i;
count = 1;
for(int j=i+1;j<str.length();j++ ) {
if(str.charAt(j)>='0'&&str.charAt(j)<='9') {
count++;
index = j;
}else {
break;
}
}
if(count>ret.length()) {
ret = str.substring(i,index+1);
}else {
continue;
}
}
}
System.out.println(ret);
}
}
先定义一个空的字符串用来存储最长的字符串,相当于擂台,然后从字符串第一个开始遍历,如果是数字就用Index标记这个位置,然后从当前重新进入循环判断数字字符串长度,是数字就count++同时更新标记位,如果不是当前字符串的连续就断了就跳出当前循环,然后把第一个连续字符串长度用截取方法根据标记位截取到字符串,并放入擂台中。
这个需要注意,如果从第一个循环的i开始继续向下进行的时候,还会遇到第一个连续字符串的子集,都肯定是比原字符串长度短的,就是一路continue,直到原字符串结束,才重新开始偶遇下一个连续字符串。