public class MaxString { private char c; private int i; public MaxString() { // TODO Auto-generated constructor stub } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub String str = "aaaxxabbdfbbbbbadfaaaa"; MaxString maxb = MaxString.getMaxStringAtBeginniString(str); // System.out.println(maxb.getC()); System.out.println(maxb.getI()); MaxString max = MaxString.getMaxStringByAllString(str); System.out.println(max.getC()); System.out.println(max.getI()); } public char getC() { return c; } public void setC(char c) { this.c = c; } public int getI() { return i; } public void setI(int i) { this.i = i; } public static MaxString getMaxStringAtBeginniString(String str) { MaxString maxString = new MaxString(); char charFirst = str.charAt(0); maxString.setC(charFirst); int cursor = 1; int l = str.length(); while(cursor<l && charFirst==str.charAt(cursor)) { ++cursor; } maxString.setI(cursor); return maxString; } public static MaxString getMaxStringByAllString(String str) { MaxString maxString = MaxString.getMaxStringAtBeginniString(str); int begin = maxString.getI(); int l = str.length(); while(begin<l){ String subString = str.substring(begin); System.out.println(subString); MaxString temp = MaxString.getMaxStringAtBeginniString(subString); if(maxString.getI() < temp.getI()) { maxString.setC(temp.getC()); maxString.setI(temp.getI()); } begin+=temp.getI(); } return maxString; } }