算法与编程

本文详细介绍了如何通过编程实现字符串中出现次数最多的字符及其计数,以及如何生成九九乘法表、解决数学问题和获取指定范围内的随机数。文章还涵盖了算法与数据结构的基本概念。

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;
    }

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值