首页编程java编程java经典编程题(java递归排序算法)

java经典编程题(java递归排序算法)

编程之家2026-06-03729次浏览

其实java经典编程题的问题并不复杂,但是又很多的朋友都不太了解java递归排序算法,因此呢,今天小编就来为大家分享java经典编程题的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

java经典编程题(java递归排序算法)

java的经典例题

【程序1】题目:古典问题:有一对兔子,从出生后第2个月起每个月都生一对兔子,小兔子长到第2个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。

【程序3】题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。

【程序4】题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

【程序5】题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

【程序6】题目:输入两个正整数m和n,求其最大公约数和最小公倍数。

java经典编程题(java递归排序算法)

【程序7】题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

【程序8】题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制。

【程序9】题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。

【程序10】题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

【程序11】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

【程序12】题目:企业发放的奖金根据利润提成。

利润(I)低于或等于10万元时,奖金可提10%;

利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;

20万到40万之间时,高于20万元的部分,可提成5%;

40万到60万之间时高于40万元的部分,可提成3%;

60万到100万之间时,高于60万元的部分,可提成1.5%,

高于100万元时,超过100万元的部分按1%提成,

从键盘输入当月利润I,求应发放奖金总数?

【程序13】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

【程序14】题目:输入某年某月某日,判断这一天是这一年的第几天?

【程序15】题目:输入三个整数x,y,z,请把这三个数由小到大输出。

【程序16】题目:输出9*9口诀。

【程序17】题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

【程序18】题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。

【程序19】题目:打印出如下图案(菱形)

【程序20】题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。 1.程序分析:请抓住分子与分母的变化规律。

【程序21】题目:求1+2!+3!+...+20!的和

【程序22】题目:利用递归方法求5!。

java新手编程题目

思路如下:

随即4个数字(1~6)用来模拟4个色子

数字全部存入数组ary,.然后升序排列.

如果满足两两相等,那么已经排序好的数字,就是ary[0]=ary[1]; ary[2]=ary[3];

然后判断ary[0]+ary[2]==6.如果等于6那么满足要求,不等于6,那么继续下次循环

参考代码

importjava.util.Arrays;

publicclassRandomDemo{

publicstaticvoidmain(String[]args){

intloop=5;//重复5次试验

for(intk=0;k<loop;k++){

inttimes=0;//循环的次数

int[]ary;//数组,存储4个随机数

while(true){

times++;//次数+1

ary=newint[4];

for(inti=0;i<ary.length;i++){

ary[i]=getNum();//添加随机数

}

Arrays.sort(ary);//用数组工具类进行排序

//因为有两两相等的情况,那么就是ary[0]=ary[1]ary[2]=ary[3]能减少很多的ifelse判断

//如果两两相等.且两值和等于6,那么跳出循环

if(ary[0]==ary[1]&&ary[2]==ary[3]&&ary[0]+ary[2]==6){

break;//跳出

}

}

System.out.println("两个数字分别是"+ary[0]+"和"+ary[2]+"\t"+"循环了"+times+"次");

}

}

//该方法用于返回一个[1,6]之间的数字

privatestaticintgetNum(){

return(int)(Math.random()*6)+1;//1~6之间的随即数

}

}测试结果

两个数字分别是1和5循环了22次

两个数字分别是1和5循环了12次

两个数字分别是3和3循环了105次

两个数字分别是1和5循环了128次

两个数字分别是2和4循环了96次

一道Java编程题,求各位大神,告知我该怎么写

分别用了普通的直接main方法和构造方法产生实例来实现,原理是一样的。

packagejavaexc;

publicclassScore{

publicstaticvoidmain(String[]args){

//定义存储分数数组

intscore[][]=newint[20][5];

//总分

intsumscore=0;

//存储总分的一维数组

intsumscores[]=newint[20];

//平均分

intavescore=0;

System.out.print("coreC++\t"+"coreJava\t"+"Servlet\t\t"+"JSP\t\t"+"EJB\t\t"+"sumscores");

System.out.println();

for(inti=0;i<20;i++){

for(intj=0;j<5;j++){

//用双层循环给数组赋值,random是产生0~1之间的小数,不包括0和1,乘100再加1就是1~101,向下取整数,正好是1到100

score[i][j]=(int)Math.floor(100*Math.random()+1);

System.out.print(score[i][j]+"\t\t");

//总分累加,在行数相同时

sumscore+=score[i][j];

//把总分赋给存储数组

sumscores[i]=sumscore;

//求平均分,就是竖列相同时,累加,这里取的是j=0,c++课程的平均成绩

if(j==0)

avescore+=score[i][j];

}

System.out.print(sumscores[i]);

//这里要把sumscore清零,再次进入循环时不会加前一行的分数

sumscore=0;

System.out.println();

}

System.out.println("平均分:\t"+avescore);

}

}

packagejavaexc;

publicclassScoreTest{

intscore[][]=newint[20][5];

intsumscore=0;

intsumscores[]=newint[20];

intavescore=0;

//构造方法。

publicScoreTest(){}

//给二维数组赋值并且打印的方法

publicvoidprintscore(){

for(inti=0;i<20;i++){

for(intj=0;j<5;j++){

score[i][j]=(int)Math.floor(100*Math.random()+1);

System.out.print(score[i][j]+"\t\t");

}

System.out.println();

}

}

//求总成绩的方法

publicvoidSumscore(){

System.out.println("总分:");

for(inti=0;i<20;i++){

for(intj=0;j<5;j++){

sumscore+=score[i][j];

sumscores[i]=sumscore;

}

System.out.print(sumscores[i]);

sumscore=0;

System.out.println();

}

}

//求平均成绩的方法,这里带了参数n,n=0,1,2,3,4分别表示不同课程。

publicvoidAvescore(intn){

for(inti=0;i<20;i++){

for(intj=0;j<5;j++){

if(j==n)

avescore+=score[i][j];

}

}

System.out.println("平均分:\t"+avescore);

}

publicstaticvoidmain(String[]args){

//用构造方法产生实例ST

ScoreTestST=newScoreTest();

System.out.print("coreC++\t"+"coreJava\t"+"Servlet\t\t"+"JSP\t\t"+"EJB");

System.out.println();

//ST分别调用赋值,求总成绩,求平均成绩的方法。

ST.printscore();

ST.Sumscore();

ST.Avescore(3);

}

}

java经典编程题的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java递归排序算法、java经典编程题的信息别忘了在本站进行查找哦。

王者荣耀无限火力4.0,王者无限火力免费版纳米ai搜索(纳米ai和deepseek有什么区别)