首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

求教字符串类型题目,该如何处理

2012-04-27 
求教字符串类型题目5.找出字符串是最长的子串,要求子串中的所有字符都相同:如asdfaahellobbsferheeer返

求教字符串类型题目

5.找出字符串是最长的子串,要求子串中的所有字符都相同:如"asdfaahellobbsferheeer" 返回结果应该为eee;

[解决办法]

Java code
package corejava.day01;public class CheckLongString {        public static void main(String[] args) {        String test="AAAbbbcccdfg33333333333333ggegegeggdfffffffgdergeg";        String result =getLongString(test);        System.out.println(""+result);    }    private static String getLongString(String test) {        int index =test.length();        char begin =test.charAt(0);        char last = 0 ;        int beforenumber =0;        int nownumber =1;        for(int i=1;i<index;i++){            if(begin==test.charAt(i)){                nownumber++;            }            else{                if(nownumber<beforenumber){                    begin=test.charAt(i);                    nownumber=1;                    continue;                    }                last=begin;                beforenumber=nownumber;                begin=test.charAt(i);                nownumber=1;            }        }        StringBuffer ss =new StringBuffer();        for(int i=0;i<beforenumber;i++){            ss.append(last+"");        }        return ss.toString();    }}
[解决办法]
for example
Java code
String s = "asdfaahellobbsferheeer";StringBuilder buf = new StringBuilder();String result = "";int max = 0;for (char c : s.toCharArray()) {    if (buf.length() > 0) {        if (buf.charAt(0) != c) {            if (buf.length() > max) {                max = buf.length();                result = buf.toString();            }            buf.delete(0, buf.length());        }    }    buf.append(c);}if (buf.length() > max) {    result = buf.toString();}System.out.println(result); 

热点排行
Bad Request.