`
keete
  • 浏览: 30583 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

一个女生提出的字符串排序问题及答案

J# 
阅读更多

问题:给你一数组“sssdkjofango”、“aaaaindigigho”、“SGINGingosD” 给它们排序,并指出其中出现最多次的字母

这个本是最基本的问题,我愣是弄了半天才弄出来。唉呀,基础还不够扎实啊。
答案如下:

import java.util.Arrays;

public class OrderTest2 {
 public static void main(String[] args) {
  String str = "sssdkjofango aaaaindigigho SGINGingosD";
  String substr[]=new String[20];//String类型的数组
     substr=str.split(" ");
     int len;
     len=substr.length;
     String temp=new String();
     for(int i=0;i<len-1;i++)
     {//依次查找序列中最小的单词
           for(int j=0;j<len-1;j++)
           {
              if((substr[j].compareTo(substr[j+1]))>0)
              {
                 temp=substr[j];
                 substr[j]=substr[j + 1];
                 substr[j +1 ]=temp;     
             }
         }
     }
  for(int i=0;i<len;i++)
  {
  System.out.print(" "+substr[i]);
  }
  
    char[]   charArray=str.replace(" ", "").toCharArray();  
    Arrays.sort(charArray);  
    char   tempchar=charArray[0];  
    int   templength=1;  
    char   maxchar='\0';  
    int   maxlength=0;  
    for(int   i=1;i<charArray.length;i++)  
    {  
    if(tempchar==charArray[i])  
    {  
    templength++;  
    }else{  
    if(templength>maxlength)  
    {  
    maxchar=tempchar;  
    maxlength=templength;  
    }  
    tempchar=charArray[i];  
    templength=1;  
    }  
    }  
    System.out.println();  
    System.out.println("出现最多的字母是:\""+maxchar+"\"   数量是:"+maxlength);  
    }
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics