Java 基础编程练习题.docx
- 文档编号:23916236
- 上传时间:2023-05-22
- 格式:DOCX
- 页数:21
- 大小:19.48KB
Java 基础编程练习题.docx
《Java 基础编程练习题.docx》由会员分享,可在线阅读,更多相关《Java 基础编程练习题.docx(21页珍藏版)》请在冰豆网上搜索。
Java基础编程练习题
Java基础编程练习题
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
t1[i]=in_t1.nextInt();}
for(inti=0;i intpos=i; for(intj=i+1;j if(t1[pos]>t1[j]) pos=j; } if(pos! =i){ t1[i]=t1[i]+t1[pos]; t1[pos]=t1[i]-t1[pos]; t1[i]=t1[i]-t1[pos]; } } for(inti=t1.length-1;i>=0;i--) System.out.print(t1[i]+"\t"); } } 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-90 System.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()API System.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且<100 System.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 /*
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 基础编程练习题 基础 编程 练习题
![提示](https://static.bdocx.com/images/bang_tan.gif)