《2023年JAVA程序设计题库.docx》由会员分享,可在线阅读,更多相关《2023年JAVA程序设计题库.docx(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Ja v a程序设计编程题Java语言考试题编程题知识点规定a:固定题b:简朴题c:中档题d:难题#一个数假如恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1、2、3,而 6= 1 +2+ 3,因此6是“完数”。编程序找出2 02 3之内的所有完数。参考程序如下:pu b 1 ic c 1 ass 完数 pu b 1 ic static v oid main ( S t ri n g arg s ) o o / / T OD0 Au t o g e n e r a ted method stubofo r (int i = l; i 2023; i + + )。(o o oint
2、 s = 0 ;ooo fo r (int j = l; j i; j+)ooif (i%j=0)00 0 00 0 os + = j ;/怕你不懂,这句话相称于s =s + joooi f(s=i)000 0o o System . o u t.pri n t In (i);publ i c static void ma i n (String a rgs) o int i, j ;o for(i= 1 ; i 10;i+) (o of o r (j=l;j0)。m = m * 10 + i%10;i /=1 0 ;if(m=n) o。 ret u rn t ru e ; e Ise (。r
3、 e turn false;。)v oid s etN 1N2 (int n l,int n 2 ) 。 t h i s.nl= n 1;this.n 2 =n2; pr i v a te v o id c hangeSor t () 。o i n t temp;。i f (n 1 = n2)。temp = n2;。 n 2 =nl;。n l=temp;6 0)0。int getN() 。cha n ge S ort();0 for (i n t i=nl; i = n 2;i+) 3 if(is P a 1 indromic(i)。c o u ti+ + ;0 0 0 1re t u r n
4、 couti;0)o void show Number() 。c h an g eSort ();System, out.p r intln(n 1 +“与”+n2 + ”之间的回文数为:);for(in t i=n 1 ; i = n2;i+)。if(i s P a 1 i n dr o m i c (i)。 Syst e m.out.p r in t (i + t );0 0 6 )class回文数测试类o p u b 1 i c s tatic void m a in(S t r i ng ar g s ) S c a n n er s c =new Scanne r (Sys tem.
5、 i n);。i nt nl=s c .ne x tlnt();。 i nt n2= s c.next I nt();。求回文数pl = new求回文数(); p 1 .s e tN 1 N2(n 1 , n 2);。 p 1 .sho w Num b e r();Syst em.ou t . pr i ntln(n ”+nl+与”+ n 2+”之间的回文数个数为:”+pl.getN();评分标准:1、写出能完毕题目规定功能的、可正常运营的jav a程序,给满分,否则。分 b编写一个程序,接受用户输入的两个数据为上、下限,然后输出上、下限之间的所有素数。 /参考程序如下:im p o r t
6、java.i o . *;publ i c c la s s 素数pub 1 ic stat i c v oid main(Str i ng args) thro w s lOExce p tion eoolnpu tStreamRea der isr = new I nputS t r e amR e ader(Sy s t em.i n ); oo Buf f e r e d Rea der br = ne w BufferedRea d er (isr);。oint top, bot t om,j,m=0;3System. out.p r int (请输入上限:”);o top = In
7、tege r.pa r s e I n t(br. readL ine();System.out. p r i nt(请输入下限:);36 bo t t o m = I nt e g er.parse I n t( b r.rea d Line();。i f (t o pbot t o m)。 Syst e m.o u t.printin (输入的上、下限不对的!”);。System, e x i t( 1 );0 0oof or (i= b ottom; i=to p ;i+) oint k = (i n t)Math. s qrt(i);for(j = 2; j k)0 0。if(m%4=
8、 0 )ooo 0 o 0。0System.out.p r intln();ooo 0 0 J0。m+;oSy stem.out. p r i nt (i + t );0 )O 0。Syst e m.ou t . p rintl n ();)评分标准:1、写出能完毕题目规定功能的、可正常运营的java程序,给满分,否则。分从键盘上输入一个字符串,试分别记录出该字符串中所有数字、大写英文字母、小写英文字母以及其他字符的个数并分别输出这些字符。参考程序如下:pub 1 i c c lass记录字符pub 1 i c sta t i c v 0 id ma i n(S t ri n g a rgs)
9、 throws 10 Ex c ep t i 0 n I n p u tStream Reader is r = new I n putStre a mR e a d e r (System, i n );o B uf f e r e dReader br = n e w B u f fered Reader (isr);3 S tr i ng s t r = br.readLine();。int ditNo = 0 , u p CharNo = 0, 1 oCharNo = 0, otherCharNo = 0;f or (i = 0; i str. 1 e ngt h (); i +)o
10、o i f ( s t r .charA t (i) = 0)。ditNo+;els e i f (str. cha r At( i ) = A)o 。upC h arN o +;3else i f (str. c ha r At(i) = a )d o C h a r N o +;elseo th e rCh a rN o +;0 )Syst e m. out.printl n (数字数目二 + d i tN o + t n + ”大写字母数目=” + u pC h a r No);o Sy s tem.o u t.p r intln (小写字母数目= +1 o C h arNo + t n
11、+ ”其它字母数目二”。+ otherCh a rNo);。)评分标准:1、写出能完毕题目规定功能的、可正常运营的java程序,给满分,否则。分编写程序,读取一个在0和1 0 00之间的整数,并将该整数的各位数字加和。参考程序如下:import j ava . u til. S c anner;publi c clas s整数数字加和o o p u b lie sta tic void main (String a rgs) o o S can n er sc = new Scanner (Sy s t e m. in);o System, o ut.printin (请输入一个01000的整
12、数:o oi n t a, d 1, d2, d 3 , s um;oa = sc- ne x tl n t ();0 0 i f ( a 1 0 0 0) o o Sys tem. ou t .p r i nt 1 n (您输入的数字不合法! ”);o o o S y s t e m. exit (0);0 0 0)o o 21= a %10;00 d 2=a/10%10;o od3=a/l0 0% 1 0 ;o o s u m=dl+d2 + d3;o oSy s tem. ou t . p r int (”该整数的各位数字之和为:”+ sum);0 0 )评分标准:1、写出能完毕题目规定
13、功能的、可正常运营的java程序,给满分,否则0分 b编写程序对数组a=20,3 9 , 45,78, 43,23, 45,89, 131进行排序,输出各个元素并求出数组 当中的最大值和最小值及平均值。参考程序如下:imp ort j a va. util .A r rays;pu b lie cl a ss数组排序(o pub 1 ic stat i c void ma i n (St r i ng args) o o int a =2 0 , 39, 4 5 , 78,43,23, 4 5, 89, 131);o oA r r a ys . so r t (a);o S y s t e m
14、outpr i ntln (序后的数组元素为:);o oint sum= 0;o o ofloa t av=0.Of;o o for ( i n t i = 0; i = 8) re t u rn true;o e Is e re turn fa Is e ;)private s ta t ic b o ole a n isCharVa 1 i d ( S tring s t r)o boo 1 ea n isCharV a lid = true;6 f o r (in t i = 0; i str. leng t h() ; i+)o ooif(!Cha r acte r . i s L e
15、 t terOr D igit(str.char A t ( i ) o 。isCharV alid = fa 1 se;o。e b r eak;)0 0 。retu r n i s Cha r Valid;p ri v ate s t atic bool e a n isNumberValid(String s tr) int c ou n t = 0;fo r (int i = 0; i = 2) re t urn true;。else re t u r n false;)评分标准:1、写出能完毕题目规定功能的、可正常运营的java程序,给满分,否则0分 b编写程序,求1+3+7 +1 5
16、+(220;)。说明:2 2 0指的是2的20次幕。参考程序如下:p u b lie c las s求表达式值1 。publ i c sta t i c vo i d ma in(Str i ng args) 。 i nt i=0,sum=0,m=l; oofor( i = 1 ; i 0 Sy s tern, o ut. printin (表达式的值是: +sum);。)评分标准:1、写出能完毕题目规定功能的、可正常运营的j av a程序,给满分,否则0分b已知,s=l-l/2+l / 3 1 / 44卜!/n,编写程序,求 n=100 时,s 的值。参考程序如下:public class求
17、表达式值2 pub 1 i c st a tic vo i d main(S t ring a rgs) i nt k =1J;。doub 1 e s=0;for(i=l;i 10 1 ;i+)。s=s + (double) k/(do u b 1 e )i;k=-k;i ;Syst e m.out. pri n t ln(“n=+i + 时,s = + s);评分标准:1、写出能完毕题目规定功能的、可正常运营的j a v a程序,给满分,否则。分运用面向对象知识,用Java语言编写圆类(Ci r c 1 e)和矩形类(R e tang继承自形状类(Sh a pe),计算周长和面积,并编写测试
18、类测试完毕测试。参考程序如下:import j a v a .ut i I.*;P ubli c a b stract class S h ap e a b stract v o id se t Parm( d ouble. .a);。abs t rac t d ouble g etA r e a();a bs t ra c t d o uble get Perim e t e r();)圆形类cl a s s C ircle e x ten d s Shap e 。private double r;p u bl i c Ci r cle ()pu b lie C ircl e (double
19、 r )。this.r=r;)o void s e t P arm(do u b 1 e . . r)h i s ,r= r 0 ;double g e t A r ea() return Math.PI*r* r ;doub 1 e g etPe r ime t er()。r e t u rn 2*Ma t h .P I * r;b )c 1 ass Retangle e x ten d s Shap e oprivat e doubl e w,h;。pub 1 ic Retangle()public Reta n g 1 e( d o ub 1 e wz d o ubl e h)0thi
20、s.w= w ;o t his.h=h;)。p ublic void s et P arm(doub 1 e. .ds )。坨 i s. w =dsO;e t h is. h =d s 1;)double getA r e a ()return w* h ;double g etPer i met e r() retur n 2 * (w+h);)cla s s S h a p e F a ctoryp u b lie static Shape c reate S h ape(in t s h ape) Sha p e sh=nu 1 I;swit c h (sha p e) case 1 :
21、sh=new Circle();。break;cas e 2 :sh = new Retan g le();break;。ret u r n sh;)c 1 ass My S hap e Co n sole。pi vate i nt shape;。private Scanner s c ;。p r i v a te S ha p e sp;p r i va t e boolean flag=true;priva t e St r i ng s=y;。p ubli c MyS h a p e Con s ole() 。 sc= n ew S c ann e r(S y stem.in);setM
22、 e n u ();o wh i 1 e(tr u e)o。sh a p e =sc.next I nt();。o s p =Sh a peFac t ory. c reate S hape (sha p e);ose tParm();。show Res u lt();。S ys t em. out. p ri n t 1 n( c o ntinu e ? ( y /n) ” );。s=sc.next(); if(s. equal s(y) | | s.equals (Y) setMen u ();fl a g=true;else if( s . e qual s (n)| I s. e qu
23、alsfN ” ) f lag=false;oSyst e m.out.pr i n t In(程序终止运营! ”); oooSystem.ex i t(0);pr i v a te void s e tMenu() Sy s t em. o ut. p rintln (”t 控制菜单”);Sys t em. o u t.p r i n t In (”* * * * * * * * * * * * * * *”);S y s t e m.out.p r i n t(H * 1 圆形 t*n );* n);e。Sy s t e m.out. p ri n t (“*2矩形 t。 S y s te
24、m.ou t .pn i 退出 t。S y stem.out.pr i ntl n (”* *);System, o ut. p rintln(请输入要计算面积和周长图形数字)pr i v a te voi d setP a rm() o。swi t c h (shape) case l:Syst e m. o ut. p r in t 1 n(请输入圆形的半径:”);。osp.setParm( s c. n extD o u b I e ();b reak;3 case 2: Sy s t e m.out.pri n tl n (请输入矩形的宽度和长度:”);sp. setP a r m (
25、sc.ne x tD o u ble() ,sc.n e xtD o u b I e ();ebr e a k ;。 case 3: r e t ur n ;d e f a u lt:System. out .printl n (输入参数错误!”);。)。pr i vate voi d showResult()。switch(sha p e) 。 ca s e l:Sy stem. o u t.println( n圆形的面积为: +sp. g e t A r e a ()+,周长为:+s P .getP e r i m e ter();break;case 2: Sy s tem.o u t.
26、 p rintln(矩形的面积为:+sp.getArea ()+,周长为:+sp. g e t P e r i mete r ();。b r ea k ;ca s e 3: S y stem.out.pr i ntln(程序终止运营!”);3Sys tern, exi t (0);6 )。)clas s Testo P u b I i c st a tic v o i d ma i n( S t r i n g args) 。o MyShap e C o nsole ms=new MyShapeConsole ();0)评分标准:1、写出能完毕题目规定功能的、可正常运营的jav a程序,给满分
27、,否则0分c输入某年某月某日,判断这一天是这一年的第几天。计算方法为:h = (q + 26(m+l)/10 + k+ k/4+ j/4 +5* j )%7,各变量含义如下:(1 )h是一个星期中的每一天(0为星期六;1 为星期天;2为星期一;3为星期二;4为星期三;5为星期四;6为星期五)(2) q是某月的 某一天(3) m是月份(3为三月,4为四月,,12为十二月)。一月和二月分别记为上一年 的1 3和14月。(4) j是世纪数(BP|year/10 0 |) (5) k是世纪的年数(即year%100)。参考程序如下:i mport j av a . u ti 1 .*;public c
28、lass 1 ia n x i 14 pu b lie s t ati c void m a in(String args) int ye a r, month, da y ;in t days = 0;int d = 0;i nt e;inpu t f ymd = n ew in p ut();do e = 0;Sy s tem. out .print/输入年:”);year =f y m d . i nput();S yst e m.ou t .p r i nt( H输入月:);m o nth = fymd. i n put();System. ou t . p r i nt(输入天:);
29、day = fymd.inp u t();if (ye a r 0 11 mo n th 12 | I day 31)S ystem.o u t. p rint 1 n(输入错误,请重新输入! ”);e =1 ;)whil e ( e = = 1);f or (int i =1; i m o n th; i+) swi t c h (i) c ase 1 :case 3:ca s e 5 :case 7 :ca s e 8:c a se 10:c a se 12:days = 31;b r ea k ;case 4 :c as e 6:case 9:cas e 11:days = 30;b r
30、eak;case 2:if (ye a r % 4 00 = 0) | I (yea r % 4 = 0 & yea r % 100 != 0) ) days = 29; else bre a k ;S y s t e m.o u t. pr i n t In (year + month + d a y + ”是这年的第,+ (d+day) +第,+ (d+day) +天。”);c 1 a ss inpu t p u bl i c int i npu t () int v a 1 u e = 0;Scanne r s = new Sea n n e r ( System. in);val u
31、e = s.nextlnt();return val u e;)评分标准:1、写出能完毕题目规定功能的、可正常运营的j ava程序,给满分,否则。分有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(涉及学生号,姓名,三门课成绩),计算出平均成绩。参考程序如下:import j ava . u t i 1 . Sea n ner;publi c cla s s学生成绩o p ublicstat i c vo i dmain ( S tring args) oS c ann er s s= new S c a nn er ( S ystem. in);St r i n g a = new S
32、t ri n g 5 6 ;of 0 r ( i nt i=l; i6; i + + ) oS yst e m. o u t. p rin t ( 请输入第+ i + ”个学生的学号:H);a i 1 0 = ss .nextLine ();S ystem.print (请输入第+ i + ”个学生的姓名:n);o oa i- 1 1 = ss . nex t L i n e ();o ofor (i n t j =1; j 4; j +) o oS y s t e m . oujpr i nt (请输入该学生的第” + j + ”个成绩:);o o a i- 1 j + 1= ss. ne
33、x t Li n e ();oo oSys t e m. o u t.prin t In (Hnn);o o float av g ;o i nt sum;o ofor ( i nt i= 0 ; i5;i+) s u m= 0 ;o f o r (int j=2; j5; j +)o sum=sum+ Integer . p ars I 7? t (a i j );o )avg= (f 1 oat) sum/3;a i 5 =S t ring. valueO / ( a vg);/记得一定写最后面的“t ”这个是空格哟0)评分标准:1、写出能完毕题目规定功能的、可正常运营的java程序,给满
34、分,否则。分求Sn=a+aa+a a a +aaa之值,其中a是一个数字。例如:2 +22+ 2 2 2+22222 (此时n = 5), n由键盘输入。参考程序如下:imp o rt java. util. S can n e r ; publi c cla s s N位相同数字和 o p ubl i c static voi d ma i n (St r i n g args)TODO Auto-genera t ed method stubo in t x, n, s=0, r= 0 ;o Sea n ner sc=new Sea n ner (System, in); / /定义一个输
35、入流,背会就好、(,-o Syst e m.pr in t In (请输入个19的数字:;o ox= s c . n extin t ();o S yst e m. out .pri n t 1 n (”请输入N); n =s c . ne x t Int ();o o f o r (in t i =1; in; i + + )oS = S*10+x;o o or+=s;Sy s t e m. ou t. p r intln (学生的平均成绩为:H+avg);。)评分标准:1、写出能完毕题目规定功能的、可正常运营的java程序,给满分,否则。分a编写程序,从键盘上输入自己的班级、学号、姓名、身
36、份证号等真实信息,并在屏幕上输出。输出格式如下:2 023网络媒体1班1 n01016Jike 2943.参考程序如下:import java.uti 1 .Scanner;o publ i c clas s输入输出信息 p ublic s ta t i c voi d main ( S tring args) o S c anne r s c =new S c anner (Sys t em . in);Strin g banj i,xuehao, xingming, shenfen zhenghao;oSystem. o ut.p r int 1 n (”请输入自己的班级:);banj i
37、= s c . ne x t ();o o S y s tem. o ut .pri n t In (请输入自己的学号:);xuehao = sc. n ext ();o oSystem. out.p r intln (请输入自己的姓名:”);oxin g mi n g=sc . next ();Sys tem. out.pri n t In (请输入自己的身份证号:”);o s he n f enzhen g h a o =sc . ne x t ();学号:x ue h学号:x ue ho oSyst e m. out .pri n tin (真实信息为:+ ”班级:n+banj i +ao+姓名:”+x i n gming+n身份证号:+s h e nf e nzh e n ghao);0评分标准:1、写出能完毕题目规定功能的、可正常运营的java程序,给满分,否则0分编写程序,从键盘上任意输入两个整数,并将其结果按格式打印输出。input :35 output:3X 5 = 1 5 o参考程序如下:imp o rt java, util . Sea n ner;public class输入整数输出o p ubli c s t atic void ma i n (S t r i ng arg s ) o S ca