58,454
社区成员
发帖
与我相关
我的任务
分享
import java.util.Random;
public class string {
/**
* @param args
*/
public static void main(String[] args) {
String a=getRandomString(40);
System.out.println("随机生成的字符串为:");
System.out.print(a);
a.trim();
int i=0;
int count[]=new int[65535];
for(i=0;i<65535;i++)
count[i]=0;
for(i=0;i<a.length();i++)
count[a.charAt(i)]++;
int max=count[a.charAt(0)];
char str = a.charAt(0);
for(int j = 0; j < a.length(); j ++)
{ if(max< count[a.charAt(j)])
{
max=count[a.charAt(j)];
str =a.charAt(j);
}
}
System.out.println();
System.out.println("出现次数最多的字符:" + str + " 出现次数:" + max);
for(int j = 0; j < a.length(); j ++)
{ if(max== count[a.charAt(j)] && str !=a.charAt(j))
{
max=count[a.charAt(j)];
str =a.charAt(j);
System.out.println("出现次数最多的字符:" + str+ " 出现次数:" + max); continue;
}
}
}
public static String getRandomString(int length)
{
String str="abcdefghigklmnopkrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXYZ0123456789";
Random random=new Random();
StringBuffer sb=new StringBuffer();
int len=str.length();
for(int i=0;i<length;i++)
{
int number=random.nextInt(len);
sb.append(str.charAt(number));
}
return sb.toString();
}
}
int max=count[0];
char str =(char)0;
for(int n= 1; n <count.length; n++)
{ if(max< count[n])
{
max=count[n];
str =(char)n;
}
}
System.out.println("出现次数最多的字符:" + str + " 出现次数:" + max);
for(int n = 0; n< count.length; n++)
{ if(max== count[n]&&str!=(char)n)
{
System.out.println("出现次数最多的字符:" +(char)n+ " 出现次数:" + max);
}
}
int max=count[a.charAt(0)];
char str = a.charAt(0);
for(int j = 0; j < a.length(); j++)
{
if(max< count[a.charAt(j)])
{
max=count[a.charAt(j)];
//str =a.charAt(j);
}//end if
}//end for
System.out.println();
//System.out.println("出现次数最多的字符:" + str + " 出现次数:" + max);//找到最大数,暂不输出
//
//从头判断,只要与最大数相等,就输出,输出后把这个字符的计数清零.
//
for(int j = 0; j < a.length(); j ++)
{
if(max== count[a.charAt(j)])
{
str =a.charAt(j);
System.out.println("出现次数最多的字符:" + str+ " 出现次数:" + max);
count[a.charAt(j)]=0;//这个字符计数清零.
}
}