题目描述:输出字符串中连续最长数字串,条件如果两个串相同大小输出后者
考察点:
1、string判断是否是数字的方法(ASCII)
2、用两个字符串缓存最大值,和长串覆盖短串
3、考察几个判定条件(max置空的时机)
4、(鲁棒性高)特殊情况:结尾就是数字,或结尾有一个字母,结尾有多个字母的情况都要保证算法可行!
class Untitled {
public static void main(String[] args) {
String str1="abc0128cdf8967";
System.out.println(isNumeric(str1));
}
public static String isNumeric(String str){
String result = "";
String max = "";
for(int i=0; i<str.length(); i++){
// string判断是否是数字的方法(ASCII)
int chr=str.charAt(i);
if(chr > 47 && chr < 58){
max = max + str.charAt(i);
// 结尾是数字不走else的情况
if(i==str.length()-1){
result = max;
}
System.out.println("max"+max);
}else{
if(max.length() < result.length()){
max = "";
}else{
result = max;
max = "";
System.out.println("result"+result);
}
}
}
return result;
}
}