当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:16:00  来源:本站整理

Java编程那些事儿47—数组操纵示例3[Java编程]

赞助商链接



  本文“Java编程那些事儿47—数组操纵示例3[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

6.3.7 数字统计

要求:统计一个整数中呈现最多的数字.假如数字个数一样,则以最大的数字为准,比方1输出1,121输出1,23231输出3.

该题是一个综合的标题,在实际解析时可以分化成三个问题:1、把整数中的每个数字拆分出来,2、统计拆分出的数字中0-9每个的个数,3、得到数字个数的最大值.

实现思绪:

1、拆分数字:整数和10取余可以得到该整数的个位值,然后用该整数除以10可以去掉个位(整数除法),按照这种构造实现循环,并把拆分出的数字(也就是余数)存储到数组中.

2、统计数字:声明一个长度是10的整型数组,利用这个数组中的第一个元素保存数字0呈现的次数,第二个元素保存数字1呈现的次数,顺次类推.利用循环实现数字个数的统计.

3、得到最大值对应的数字:得到个数数组中最大值的下标,就是需求的数字.

则实现的代码以下:

int m = 1232312;
int[] n = new int[10]; //存储拆分后的数字
int num = 0;//存储拆分出的数字个数
while(m != 0){ //未拆分完
 n[num] = m % 10;  //得到个位数字
 num++;   //拆分出的数字个数加1
 m /= 10;  //去掉拆分出的数字
}
int[] count = new int[10];//存储0-9数字呈现的次数
//统计数字呈现的次数
for(int i = 0;i < num;i++){
 count[n[i]]++;
}
//得到最大值的下标
int index = 0;
for(int i = 0;i < count.length;i++){
 if(count[index] <= count[i]){
  index = i;
 }
}
//输出
System.out.println(index);

在该代码中,拆分的十进制的数字,首先拆分出个位,并存储到n数组中,然后通过除10去掉拆分出的数字,持续履行循环,一向运算到m为0时为止,变量num保存拆分出的数字的个数.利用数组count记忆0-9每个数字呈现的次数,count[0]存储0呈现的次数,count[1]存储1呈现的次数,顺次类推,所以当n[i]的值为几时,只需求count[n[i]]增添1便可.最后利用循环得到最大数字的下标,实用<=举行对比,可以保证当个数相同时取后续的数字,这样便可以通过循环得到最大数值的下标,按照数组count的构造,数组的下标和就是数字的值.


  以上是“Java编程那些事儿47—数组操纵示例3[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 利用Javascript实现网页水印(非图片水印)
  • Java开辟环境的搭建
  • Ubuntu java安装与配置
  • 办理Ubuntu 10.04 Firefox3.6 Java浏览器插件不工作的问
  • Ubuntu重装后Java环境的设置
  • Sun Java进入Ubuntu 10.10软件中央
  • Ubuntu 10.10配置Java开辟环境
  • 在Ubuntu 10.10中配置Java环境变量的办法
  • Ubuntu下Java环境的搭建
  • Ubuntu 10.04 下安装 Java, JRE
  • Ubuntu 10.04下的搭建SUN JAVA开辟环境
  • Ubuntu 12.04安装java7
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .