您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 最新JAVA编程题全集(50题及答案)
最新JAVA试题50个答案版1简介起源Java[1]是由SunMicrosystems公司于1995年5月推出的Java面向对象程序设计语言(以下简称Java语言)和Java平台的总称。由JamesGosling和同事们共同研发,并在1995年正式推出。用Java实现的HotJava浏览器(支持Javaapplet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器均支持Javaapplet。另一方面,Java技术也不断更新。(2010年Oracle公司收购了SUN)组成Java由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(JavaAPI)。体系Java分为三个体系JavaSE(J2SE)(Java2PlatformStandardEdition,java平台标准版),JavaEE(J2EE)(Java2Platform,EnterpriseEdition,java平台企业版),JavaME(J2ME)(Java2PlatformMicroEdition,java平台微型版)。优势与传统程序不同,Sun公司在推出Java之际就将其作为一种开放的技术。全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。“Java语言靠群体的力量而非公司的力量”是Sun公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。Sun公司对Java编程语言的解释是:Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。Java平台是基于Java语言的平台。这样的平台非常流行。因此微软公司推出了与之竞争的.NET平台以及模仿Java的C#语言。【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?//这是一个菲波拉契数列问题publicclasslianxi01{publicstaticvoidmain(String[]args){System.out.println(第1个月的兔子对数:1);System.out.println(第2个月的兔子对数:1);intf1=1,f2=1,f,M=24;for(inti=3;i=M;i++){f=f2;f2=f1+f2;f1=f;System.out.println(第+i+个月的兔子对数:+f2);}}}【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。publicclasslianxi02{publicstaticvoidmain(String[]args){intcount=0;for(inti=101;i200;i+=2){booleanb=false;for(intj=2;j=Math.sqrt(i);j++){if(i%j==0){b=false;break;}else{b=true;}}if(b==true){count++;System.out.println(i);}}System.out.println(素数个数是:+count);}}【程序3】题目:打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个水仙花数,因为153=1的三次方+5的三次方+3的三次方。publicclasslianxi03{publicstaticvoidmain(String[]args){intb1,b2,b3;for(intm=101;m1000;m++){b3=m/100;b2=m%100/10;b1=m%10;if((b3*b3*b3+b2*b2*b2+b1*b1*b1)==m){System.out.println(m+是一个水仙花数);}}}}【程序4】题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。(2)如果nk,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。importjava.util.*;publicclasslianxi04{publicstaticvoidmain(String[]args){Scanners=newScanner(System.in);System.out.print(请键入一个正整数:);intn=s.nextInt();intk=2;System.out.print(n+=);while(k=n){if(k==n){System.out.println(n);break;}elseif(n%k==0){System.out.print(k+*);n=n/k;}elsek++;}}}【程序5】题目:利用条件运算符的嵌套来完成此题:学习成绩=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。importjava.util.*;publicclasslianxi05{publicstaticvoidmain(String[]args){intx;chargrade;Scanners=newScanner(System.in);System.out.print(请输入一个成绩:);x=s.nextInt();grade=x=90?'A':x=60?'B':'C';System.out.println(等级为:+grade);}}【程序6】题目:输入两个正整数m和n,求其最大公约数和最小公倍数。/**在循环中,只要除数不等于0,用较大数除以较小的数,将小的一个数作为下一轮循环的大数,取得的余数作为下一轮循环的较小的数,如此循环直到较小的数的值为0,返回较大的数,此数即为最大公约数,最小公倍数为两数之积除以最大公约数。*/importjava.util.*;publicclasslianxi06{publicstaticvoidmain(String[]args){inta,b,m;Scanners=newScanner(System.in);System.out.print(键入一个整数:);a=s.nextInt();System.out.print(再键入一个整数:);b=s.nextInt();deffcd=newdeff();m=cd.deff(a,b);intn=a*b/m;System.out.println(最大公约数:+m);System.out.println(最小公倍数:+n);}}classdeff{publicintdeff(intx,inty){intt;if(xy){t=x;x=y;y=t;}while(y!=0){if(x==y)returnx;else{intk=x%y;x=y;y=k;}}returnx;}}【程序7】题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。importjava.util.*;publicclasslianxi07{publicstaticvoidmain(String[]args){intdigital=0;intcharacter=0;intother=0;intblank=0;char[]ch=null;Scannersc=newScanner(System.in);Strings=sc.nextLine();ch=s.toCharArray();for(inti=0;ich.length;i++){if(ch='0'&&ch='9'){digital++;}elseif((ch='a'&&ch='z')||ch'A'&&ch='Z'){character++;}elseif(ch==''){blank++;}else{other++;}}System.out.println(数字个数:+digital);System.out.println(英文字母个数:+character);System.out.println(空格个数:+blank);System.out.println(其他字符个数:+other);}}【程序8】题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。importjava.util.*;publicclasslianxi08{publicstaticvoidmain(String[]args){longa,b=0,sum=0;Scanners=newScanner(System.in);System.out.print(输入数字a的值:);a=s.nextInt();System.out.print(输入相加的项数:);intn=s.nextInt();inti=0;while(in){b=b+a;sum=sum+b;a=a*10;++i;}System.out.println(sum);}}【程序9】题目:一个数如果恰好等于它的因子之和,这个数就称为完数。例如6=1+2+3.编程找出1000以内的所有完数。publicclasslianxi09{publicstaticvoidmain(String[]args){System.out.println(1到1000的完数有:);for(inti=1;i1000;i++){intt=0;for(intj=1;j=i/2;j++){if(i%j==0){t=t+j;}}if(t==i){System.out.print(i+);}}}【程序10】题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?publicclasslianxi10{publicstaticvoidmain(String[]args){doubleh=100,s=100;for(inti=1;i10;i++){s=s+h;h=h/2;}System.out.println(经过路程:+s);System.out.println(反弹高度:+h/2);}}【程序11】题目:有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?publicclasslianxi11{publicstaticvoidmain(String[]args){intcount=0;for(intx=1;x5;x++){for(inty=1;y5;y++){for(intz=1;z5;z++){if(x!=y&&y!=z&&x!=z){count++;System.out.println(x*100+y*10+z);}}}}System.out.println(共有+count+个三位数);}}【程序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%提成,从键盘输入当月利润,求应发放奖金总数?importjava.util.*;publicclasslianx
本文标题:最新JAVA编程题全集(50题及答案)
链接地址:https://www.777doc.com/doc-4367766 .html