他不一定要用这种专门的类,就是一个算法,让你自己去写,用一些最基本的类型就可以了
如int,string,数组等
主要考的是算法阿,

解决方案 »

  1.   

    自己算法这方面比较差阿,那位ggdd or jjmm帮忙啦
      

  2.   

    1、
                    String str = "abcdefgh";
                    char[] a1 = str.toCharArray();
                    char b;
                    for(int i=0;i<(a1.length/2);i++){
                            b = a1[i];
                            a1[i] = a1[a1.length-i-1];
                            a1[a1.length-i-1] = b;
                    }
                    str = new String(a1);
    2、正在写
      

  3.   

    2里面的“连续相同且最大”,是连续的数量最大,好是字符串的compareTo最大呀
      

  4.   

    String str = "abcccdefffff";
                    char[] a1 = str.toCharArray();
                    int i1,i2,j1,j2;
                    j1=0;
                    j2=0;
                    i1=0;
                    i2=0;
                    for(int i=0;i<a1.length-1;i++){
                            if(a1[i]==a1[i+1]){
                                    i1 = i;                                while((i<a1.length-1)&&(a1[i]==a1[i+1])){
                                            i++;
                                    }
                                    i2=i;
                                    if((j2-j1)<(i2-i1)){
                                            j2 = i2;
                                            j1 = i1;
                                    }
                            }
                    }
                    str = new String(a1,j1,j2-j1+1);
      

  5.   

    第一问题:
    import javax.swing.*;public class Reverse
    {
        public static void main(String[] args)
        {
    String str = JOptionPane.showInputDialog("Please input a string:");
    int len = str.length(); char s[] = str.toCharArray();
    char result[] = new char[len]; int i; for(i=0;i<len;i++)
    {
    result[i] = s[len-1-i];
    }
    str = new String(result);
    System.out.println(str);
    System.exit(0);
        }
    }
    第二个问题就留给楼主自己解决吧
      

  6.   

    jockhuang(黄昏) 的第二个算法不错。也许可以把a1.length-1提到循环外面。
    算法方面怕是难以改进了。
      

  7.   

    第一个还比较好实现
    import javax.swing.*;
    public class reg
    {
      public static void main(String[] args)
        {
              String str,stre;
              if (args.length==0 or args==null)
                { JOptionPane.showMessageDialog(null,"请输入要进行操作的字符串!");
                  return;
                }
              else
                {
                     str=args[0];
                     stre=reversString(str);
                     System.out.println("反转后为:"+stre);
                }
         
        }
       public static String reversString(String str)
       {
            String results="";
            int i=0;
            for(i=str.length()-1;i>=0;i--)
             {results+=str.substring(i,i+1);}
            return results;
       }
    }
      

  8.   

    to jockhuang(黄昏)
    你的算法好像不对阿,我把你的程序考下去以后,
    输入abcdbcdefbcdefg
    按题意应该是bedefbcdef输出才对阿
    我的输出就是a
    是不是我理解题意错误阿?
      

  9.   

    class  testString
    {
            public static void main(String[] args)
            {
              String name="1234567";
              String str=new String();
              String s=null;
              char[] c=new char[name.length()+1];          for(int i=0;i<name.length();i++)
              {
                c[name.length()-i]=name.charAt(i);
                s=str.copyValueOf(c);
              }          System.out.println(s);
            }
    }
      

  10.   

    public class StringReverse { public static void main(String[] args) {

    StringReverse strRe = new StringReverse();
    String strReversed = strRe.getReversed("abcdefg");
    System.out.println("-------------" + strReversed);
    String strDoubleMax = strRe.getDoubleMax("abkkbdeefghh");
    System.out.println("-------------" + strDoubleMax);
    } /**
     * @param string
     * @return
     */
    private String getDoubleMax(String strTemp) {

    char[] chTemp = new char[2];
    int intMax = -1;

    for (int i=0; i<strTemp.length(); i++) {

    int j=i+1;
    if (j<strTemp.length()) {

    if (strTemp.charAt(i)==strTemp.charAt(i+1) && strTemp.charAt(i) > intMax) {

    chTemp[0] = strTemp.charAt(i);
    chTemp[1] = strTemp.charAt(i);
    intMax = strTemp.charAt(i);
    i++;
    continue;
    }
    }

    }
    String strResult = String.valueOf(chTemp);
    return strResult;
    } /**
     * @param string
     * @return
     */
    private String getReversed(String strTemp) {

    char[] chTemp = new char[strTemp.length()];

    for (int i=0; i<strTemp.length(); i++) {
    chTemp[strTemp.length()-1-i] = strTemp.charAt(i);
    }
    String strResult = String.valueOf(chTemp);
    return strResult;
    }
    }
    我希望这道题可以供大家参考,而不是just copy。还有,也许还存在一些问题。
      

  11.   

    第一个问题,用StringBuffer.reverse()即可;第二个问题,没有现成的,只能自己写,思路如下:
    1.找到第一个连续的串;
    2.将其保存到临时变量temp中;
    3.找第二个连续的串,与temp比较,把大的保存到temp中;
    4.依次类推,直到找不到连续的串为止;返回temp,如果一个连续的串没有找到,返回null或抛出异常。
      

  12.   

    我同意jockhuang(黄昏)的
    zhouhouqu(潇湘夜雨) 的理解有误的哦?按你的那种理解,算法就可复杂了。
    初步估计是模式匹配算法的3次方复杂度。有兴趣大家讨论一下。 muymuy(muy) 理解也有问题哦?
      

  13.   

    按jockhuang(黄昏)的理解还算比较好实现(至少理论上)
    以我的理解的话我是无从下手了,这个算法倒是大家可以讨论一下哦
    感觉是应该很复杂的