算法与编程

来源:互联网 发布:教务管理系统数据库 编辑:程序博客网 时间:2024/05/30 20:09

1.写一个程序;找出一个字符串中出现次数最多的字符和出现的次数;


 例如: String s="abcdeddssxxxssaaaa";
//1.将字符串转换为字符数组
char [] c=s.toCharArray();
//2.创建数组  用来装字符数组
List<Character> list = new ArrayList<Character>();

for(int i=0;i<c.length;i++){
list.add(c[i]);
}

//3.去除重复的字符
char c1[]=new char[s.length()];
char  c2[]=new char[s.length()];

for(int i=0;i<list.size();i++){
c1[i]=list.get(i);
for(int j=i+1;j<list.size();j++){
c2[j]=list.get(j);
if(c1[i]==c2[j]){
list.remove(j);
j--;
}
}
}
//4.得到没有重复的字符数组
char c3[]=new char[list.size()];
for(int i=0;i<list.size();i++){
c3[i]=list.get(i);
}
//5.定义一个用来存放每个字符出现次数的数组
int count[]=new int[c3.length];
for(int i=0;i<c3.length;i++){
for(int j=0;j<c.length;j++){
if(c3[i]==c[j]){
count[i]++;
}
}
}
//6.找出出现最多的次数
int max=0;
for(int i=0;i<count.length;i++){
if(count[i]>max){
max=count[i];
}

}
//7.根据出现最多的次数找出对应字符数组中的字符
for(int i=0;i<count.length;i++){
if(count[i]==max){
System.out.println(c3[i]);
}
}


2.九九乘法表


for(int i=1,j=1;j<=9;i++){

System.out.print(i+"*"+j+"="+i*j+" ");

if(i==j){
i=0;
j++;
System.out.println();
}
}

3.一个整数,他加上100后是一个数的平方,在加上168又是一个数的平方,请问该数是多少

public class Test {

   
    public static void main(String[] args){
        // TODO Auto-generated method stub
        for(int i =1;i<=1000000;i++){
            if(Math.sqrt(i+100)%1==0){
                if(Math.sqrt(i+100+168)%1==0){
                    System.out.println(i+"加100是一个完全平方数,在加168又是一个完全平方数");
                }
            }
        }
    }

}
4.编写个程序获得某两个数之间的随机数

public static int  getRandom(int max,int min){
        double db = java.lang.Math.random()*(max-min)+min;
        int a = (int)db;
        if(db-a>0.5){
            a=a+1;
        }
        
        return a;
    }

  

原创粉丝点击