以下内容属于个人整理,如有转载请注明出处!
1、编写程序实现对给定的4个整数从大到小的顺序排列。
packageHomeWork01;importjava.util.Scanner;publicclassHomeWork01{staticintnumber=4;//输入4个数存放在数组中staticint[]t1=newint[number];publicstaticvoidmain(String[]args){HomeWork01jiejie=newHomeWork01();jiejie.shunxun();}voidshunxun(){System.out.println("请输入4个数:");Scannerin_t1=newScanner(System.in);//循环输入数组for(inti=0;i
2、编写程序求一元二次方程的根。
packageHomeWork02;importjava.util.Scanner;publicclassHomeWork02//△=b^2-4ac的值,若△小于0,一元二次方程无根.若△等于0,一元二次方程有两个相等的根.若△大于0,一元二次方程有两个不相等的实数根{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);System.out.println("输入2次方的系数");inta=sc.nextInt();System.out.println("输入1次方的系数");intb=sc.nextInt();System.out.println("输入0次方的系数");intc=sc.nextInt();if((b*b-4*a*c)<0){//判断方程是否有解System.out.println("方程无解!");return;}else{System.out.println("方程有解!");}doublex1=(-b+Math.sqrt(b*b-4*a*c))/2*a;doublex2=(-b-Math.sqrt(b*b-4*a*c))/2*a;System.out.println("根分别是"+x1+"\t"+x2);}}
3、编写程序,输入一个字符,判断它是否为小写字母,如果是,将它转换成大
写字母,否则,不转换。
packageHomeWork03;importjava.util.Scanner;publicclassHomeWork03{publicstaticvoidmain(String[]args){//小写字母的ascll值为97-122//大写字母的ascll值为65-90System.out.println("请输入一个字母:\n");Scannerinput=newScanner(System.in);charzimu=input.next().charAt(0);if(zimu>=97&&zimu<=122){//判断是否是小写字母System.err.println("该字母是小写字母");zimu=(char)(zimu-32);//如果是小写字母则将其转换成大写字母System.err.println("转换之后的大写字母是:"+zimu);}else{System.out.println("该字母不是小写字母!");}}}
4、输入3个正数,判断能否构成一个三角形。
packageHomeWork04;importjava.util.Scanner;publicclassHomeWork04{publicstaticvoidmain(String[]args){inta;intb;intc;System.out.println("请输入三个正整数:");Scannerin=newScanner(System.in);a=in.nextInt();b=in.nextInt();c=in.nextInt();if(a<=0||b<=0||c<=0){System.out.println("输入的必须是正整数!");}if((a+b)>c&&(a+c)>b&&(b+c)>a){System.out.println("能构成三角形!");}else{System.out.println("不能构成三角形!");}}}
5、编写程序,对输入的年、月、日,给出该天是该年的第多少天?
packageHomeWork05;importjava.util.Scanner;publicclassHomeWork05{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);System.out.print("年");intyear=sc.nextInt();System.out.print("月");intmonth=sc.nextInt();System.out.print("日");intday=sc.nextInt();intdays=0;switch(month){case12:days+=30;case11:days+=31;case10:days+=30;case9:days+=31;case8:days+=31;case7:days+=30;case6:days+=31;case5:days+=30;case4:days+=31;case3:if((year%4==0&&year%100!=0)||(year%400==0)){days+=29;}else{days+=28;}case2:days+=31;case1:days+=day;}System.out.print("第"+days+"天");}}
6、编写程序,从键盘输入一个0~99999之间的任意数,判断输入的数是几位
数?
packageHomeWork06;importjava.util.Scanner;publicclassHomeWork06{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);System.out.print("请输入一个0~99999之间的任意数");intnumber=sc.nextInt();if(number/10000>=1&&number/10000<10){System.out.println(number+"\t是5位数");}elseif(number/1000>=1){System.out.println(number+"\t是4位数");}elseif(number/100>=1){System.out.println(number+"\t是3位数");}elseif(number/10>=1){System.out.println(number+"\t是2位数");}elseif(number/1>=1){System.out.println(number+"\t是1位数");}}}
7、编写程序,给定一个学生成绩,给出相应等级:
90~100优秀
80~89良好
70~79中等
60~69及格
0~59不及格
packageHomeWork07;importjava.util.Scanner;publicclassHomeWork07{publicstaticvoidmain(String[]args){HomeWork07jiejie=newHomeWork07();jiejie.chengjie();}voidchengjie(){Scannersc=newScanner(System.in);System.out.println("请输入学生成绩:");inta=sc.nextInt();if(a>=90&&a<=100){System.out.println("该学生的成绩是"+a+"\t成绩优秀");}elseif(a>=80&&a<90){System.out.println("该学生的成绩是"+a+"\t成绩良好");}elseif(a>=70&&a<80){System.out.println("该学生的成绩是"+a+"\t成绩中等");}elseif(a>=60&&a<70){System.out.println("该学生的成绩是"+a+"\t成绩及格");}else{System.out.println("该学生的成绩是"+a+"\t成绩不及格");}}}
8、编写程序,对输入的一个整数,按相反顺序输出该数。例如,输入为3578,
输出为8753。
packageHomeWork08;importjava.util.Scanner;publicclassHomeWork08{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);System.out.println("请输入一个整数:");intread=sc.nextInt();//方法一reverse()APISystem.out.println("方法一:");StringBuildersb=newStringBuilder(String.valueOf(read));System.out.println(sb.reverse());//方法二将字符串转换成字符数组,反序输出Stringstr=read+"";charfuzu[]=str.toCharArray();Stringtemp="";for(inta=fuzu.length-1;a>=0;a--){temp=temp+fuzu[a];}System.out.println("方法二:");System.out.println(temp);}}
9、用while循环,计算1~200之间所有3的倍数之和。
packageHomeWork09;publicclassHomeWork09{publicstaticvoidmain(String[]args){//用while循环,计算1~200之间所有3的倍数之和。inta=1;intsum=0;while(a<=200){if(a%3==0){sum=sum+a;}a++;}System.out.println("1~200之间所有3的倍数之和为:"+sum);}}
10、编写程序,输出200~500之间的所有素数。
packageHomeWork10;publicclassHomeWork10{publicstaticvoidmain(String[]args){intnum=200;while(num<=500){booleantag=true;//素数标记for(intd=2;d<=num-1;d++){if(num%d==0){tag=false;break;}}if(tag){//如果是素数System.out.println(num);}num++;}}}
11、编写程序解决“百钱买百鸡”问题。公鸡五钱一只,母鸡三钱一只,小鸡
一钱三只,现有百钱欲买百鸡,共有多少种买法?
packageHomeWork11;publicclassHomeWork11{publicstaticvoidmain(String[]args){/*、编写程序解决“百钱买百鸡”问题。*公鸡五钱一只,母鸡三钱一只,*小鸡一钱三只,*现有百钱欲买百鸡,共有多少种买法?*/for(intg=0;g<=20;g++){for(intm=0;m<=33;m++){for(intx=0;x<=100-g-m;x++){if(x%3==0&&5*g+m*3+x/3==100&&g+m+x==100){System.out.println("公鸡"+g+"只母鸡"+m+"只小鸡"+x+"只");}}}}}}
12、使用循环语句输出下面的图形。
#
###
#####
#######
#########
packageHomeWork12;publicclassHomeWork12{publicstaticvoidmain(String[]args){intaa=-1;for(inta=0;a<5;a++){aa+=2;for(intb=1;b<=aa;b++){System.out.print("#");}System.out.println();}}}
13、验证“鬼谷猜想”:对任意自然数,若是奇数,就对它乘以3再加1;若是
偶数,就对它除以2,这样得到一个新数,再按上述计算规则进行计算,一直进
行下去,最终必然得到1。
packageHomeWork13;importjava.util.Random;;publicclassHomeWork13{publicstaticvoidmain(String[]args){/**验证“鬼谷猜想”:对任意自然数,若是奇数,*就对它乘以3再加1;若是偶数,就对它除以2,*这样得到一个新数,*再按上述计算规则进行计算,*一直进行下去,最终必然得到1。*/intnum;Randomrd=newRandom();//Integer.MAX_VALUE为最大的整数num=1+rd.nextInt(Integer.MAX_VALUE);//产生数的范围-2[31]----2[31]-1//System.err.println(rd.nextInt(100));//产生数>=0且<100System.out.println("原本的数为"+num);while(num!=1){System.out.println("产生的新数是"+num);if(num%2==0){//偶数num=num/2;}else{num=num*3+1;}}System.out.println(num);}}
14、编程求1~10000之间的所有“完全数”,完全数是该数的所有因子之和等于该数的数。例如,6的因子有1、2、3,且6=1+2+3,所以6是完全数。
packageHomeWork14;publicclassHomeWork14{publicstaticbooleanisyinzi(intnum){intsum=0;//判断一个整数是不是一个完全数for(intd=num-1;d>=1;d--){if(num%d==0){sum+=d;}}returnsum==num;}publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstub/**编程求1~10000之间的所有“完全数”,*完全数是该数的所有因子之和等*于该数的数。例如,6的因子有1、2、3,*且6=1+2+3,所以6是完全数*/for(inta=1;a<=1000;a++){intnum=a;if(isyinzi(num)){System.out.println(num);}}}}
15、一个整数的各位数字之和能被9整除,则该数也能被9整除。编程验证给
定的整数能否被9整除。
packageHomeWork15;importjava.util.Random;publicclassHomeWork15{publicstaticvoidpanduan(intnum){intb=num/100;//百位数ints=num%100/10;//十位数intg=num%10;//个位数if(num%9==0){System.out.println(num+"能被9整除");if((b+s+g)%9==0){System.out.println("同时"+num+"的各个位数之和也能被9整除");}else{System.out.println("但是"+num+"的各个位数之和不能被9整除");}}elseSystem.out.println("nexttest!");}publicstaticvoidmain(String[]args){Randomrd=newRandom();intshu=10+rd.nextInt(90);shu=shu*9;panduan(shu);}}
16、猴子吃桃问题。猴子第一天摘下若干个桃子,当时就吃了一半,还不过瘾,
就又吃了一个。第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都吃
前一天剩下的一半零一个。到第10天在想吃的时候就剩一个桃子了,求第一天共
摘下来多少个桃子?
packageHomeWork16;publicclassHomeWork16{publicstaticvoidmain(String[]args){inttotal=1;intday=10;for(inti=10;i>0;i--){System.out.println("第"+day+"天,有桃子"+total+"颗");total=(total+1)*2;day--;}}}
17、水仙花数是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等
于它本身。(例如:1^3+5^3+3^3=153)。编程求出所有三位的水仙花数。
packageHomeWork17;publicclassHomeWork17{publicstaticvoidmain(String[]args){for(intnum=100;num<1000;num++){if(isshuixian(num)){System.out.println(num);}}}//判断一个数是不是水仙花数publicstaticbooleanisshuixian(intnum){intb=num/100;ints=num%100/10;intg=num%10;returnMath.pow(b,3)+Math.pow(s,3)+Math.pow(g,3)==numtrue:false;}}
18、已知XYZ+YZZ=532,其中,X、Y、Z为数字,编程求出X、Y和Z的值。
19、古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔
子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数
为多少?
packageHomeWork19;importjava.util.Scanner;publicclassHomeWork19{/**古典问题:有一对兔子,*从出生后第3个月起每个月都生一对兔子,*小兔子长到第三个月后每个月又生一对兔子,*假如兔子都不死,*问每个月的兔子总数为多少?*/publicintrubbit(intmon){if(mon<=2){return1;}else{returnrubbit(mon-1)+rubbit(mon-2);}}publicstaticvoidmain(String[]args){intr=1;intrr=1;intrrr=1;System.out.println("方法一:");for(inta=1;a<=12;a++){//12个月if(a<=2){r=1;}else{//当前月等于前两个月之和r=rr+rrr;rrr=rr;rr=r;}System.out.println(r*2);}System.out.println("方法二,求指定月份的兔子数量:");HomeWork19jisuan=newHomeWork19();System.out.println("请输入月份:");Scannersc=newScanner(System.in);intyue=sc.nextInt();System.out.println(yue+"月份的兔子数量是"+(jisuan.rubbit(yue))*2);}}
20、将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
packageHomeWork20;importjava.util.Scanner;publicclassHomeWork20{publicstaticvoidmain(String[]args){System.out.println("请输入一个整数:");Scannersc=newScanner(System.in);intnum=sc.nextInt();System.out.println(num+"的质因数有:");for(inti=2;i