|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
首先java功能强大的背后是其复杂性,就拿web来说,当今流行的框架有很多,什么struts,spring,jQuery等等,而这无疑增加了java的复杂性。
6.3.7数字统计
请求:统计一个整数中呈现最多的数字。假如数字个数一样,则以最年夜的数字为准,比方1输入1,121输入1,23231输入3。
该题是一个综合的标题,在实践剖析时能够分化成三个成绩:1、把整数中的每一个数字拆分出来,2、统计拆分出的数字中0-9每一个的个数,3、取得数字个数的最年夜值。
完成思绪:
1、拆分数字:整数和10取余能够取得该整数的个位值,然后用该整数除以10能够往失落个位(整数除法),依照这类布局完成轮回,并把拆分出的数字(也就是余数)存储到数组中。
2、统计数字:声明一个长度是10的整型数组,利用这个数组中的第一个元素保留数字0呈现的次数,第二个元素保留数字1呈现的次数,顺次类推。利用轮回完成数字个数的统计。
3、取得最年夜值对应的数字:取得个数数组中最年夜值的下标,就是必要的数字。
则完成的代码以下:
intm=1232312;
int[]n=newint[10];//存储拆分后的数字
intnum=0;//存储拆分出的数字个数
while(m!=0){//未拆分完
n[num]=m%10; //取得个位数字
num++; //拆分出的数字个数加1
m/=10; //往失落拆分出的数字
}
int[]count=newint[10];//存储0-9数字呈现的次数
//统计数字呈现的次数
for(inti=0;i<num;i++){
count[n[i]]++;
}
//取得最年夜值的下标
intindex=0;
for(inti=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的布局,数组的下标和就是数字的值。
<p>
首先java功能强大的背后是其复杂性,就拿web来说,当今流行的框架有很多,什么struts,spring,jQuery等等,而这无疑增加了java的复杂性。 |
|