Java题优选汇总精选docx.docx
- 文档编号:8928035
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:51
- 大小:57.24KB
Java题优选汇总精选docx.docx
《Java题优选汇总精选docx.docx》由会员分享,可在线阅读,更多相关《Java题优选汇总精选docx.docx(51页珍藏版)》请在冰点文库上搜索。
Java题优选汇总精选docx
Description
输出以下菱形图案:
Input
多个数据,每个数据代表一个菱形图案的总行数,一定是奇数。
Output
菱形图案。
SampleInput
5
9
#include
usingnamespacestd;
classLX
{
public:
LX(inta):
n(a){}
voidgetLX();
private:
intn;
};
voidLX:
:
getLX()
{
inti;
intm;
intk=(n-1)/2;
for(i=1;;i++)
{
m=k;
for(;m>0;m--)
cout<<'';
k--;
for(ints=1;s<2*i;s++)
cout<<'*';
cout< if((2*i-1)==n) break; } i-=1; k+=2; for(;i>0;i--) { m=k; for(;m>0;m--) cout<<''; k++; for(ints=1;s<2*i;s++) cout<<'*'; cout< } } intmain() { intn; while(cin>>n) { LXmyL(n); myL.getLX(); } return0; } Other: #include usingnamespacestd; classlx{ public: lx(inta){n=a;} voidshow(){ inti,j,k; for(i=1;i<=n/2+1;i++){ for(j=0;j<(n/2)+1-i;j++) cout<<""; for(k=0;k<2*i-1;k++){ cout<<"*"; } cout< } for(i=1;i<=n/2;i++){ for(j=0;j cout<<""; for(k=0;k cout<<"*"; } cout< } } private: intn; }; intmain() { intl; while(cin>>l) { lxa(l); a.show(); } } 陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。 苹果成熟的时 候,陶陶就会跑去摘苹果。 陶陶有个板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。 现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大 高度,请帮陶陶算一下她能够摘到的苹果的数目。 假设她碰到苹果,苹果就会掉下来。 Input 有多组数,每组数由12个整型数组成。 第1个整型数表示陶陶将手伸直时能 达到的最大高度,第2个整型数表示凳子的高度,后10个整型数表示10个苹果 距离地面的高度。 Output 陶陶能够摘到的苹果数目。 SampleInput 11030100200150140129134167198200111 14433122145187177168154132118148124 SampleOutput 5 9 #include usingnamespacestd; classPG { public: PG(inta,intb): h(a),sH(b){} intHowMany(inta[10]); private: inth,sH; }; intPG: : HowMany(inta[10]) { intn=0; intt=h+sH; for(inti=0;i<10;i++) if(a[i]<=t) n++; returnn; } intmain() { intmyh,mysH; intaa[10]; while(cin>>myh>>mysH) { PGmyPG(myh,mysH); for(inti=0;i<10;i++) cin>>aa[i]; cout< } } 有一个n*n矩阵,其各个元素的值由1到n*n自然数组成。 将这n*n个自然数放到n*n矩阵中,使得矩阵 的每一行元素之和、每一列元素之和、主对角线元素之和及副对角线元素之和都相等。 n是奇数,最大不超过 99。 如下的矩阵就是一个魔方阵: 816 357 492 往魔方阵中放数的规则如下: (1)将1放在第0行中间一列; (2)从2开始直到n×n止各数依次按下列规则存放: 按45°方向向右上行走(每一个数存放的行比前一个数的行数减1,列数加1) (3)如果行列范围超出矩阵范围,则回绕。 例如1在第0行,则2应放在最下一行,列数同样减1; (4)如果按上面规则确定的位置上已有数,或上一个数是第0行第n-1列时,则把下一个数放在上一个数的下面。 Input 若干组数据,每组数据由一个奇数组成。 Output 对于每一个奇数,输出一个魔方矩阵。 同一行中两个数用一个空格分隔,每一行最后一个数后有一个空格。 SampleInput 3 7 SampleOutput 816 357 492 3039481101928 384779182729 466817263537 5141625343645 1315243342444 2123324143312 2231404921120 importjava.util.Scanner; publicclassMagicCube{ publicstaticvoidmain(String[]args){ Scannerreader=newScanner(System.in); while(reader.hasNext()){ intn=reader.nextInt(); int[][]arr=newint[n][n]; Start(arr); } } publicstaticvoidStart(int[][]arr){ intlen=arr.length; intcount=1; intx=len/2; inty=0; for(inti=0;i arr[y][x]=count; if(count%len==0){ y++; } else{ x++; y--; if(y<0){ y=len-1; } if(x==len){ x=0; } } count++; } for(inti=0;i for(intj=0;j System.out.print(arr[i][j]+""); } System.out.println(); } } } Description 求出以下形式的算式,每个算式中有九个数位,正好用尽1到9这九个数字。 ○○○+○○○=○○○ Input 无。 Output 如Script中所描述的算式,出按第1个3位数由小到大出。 SampleInput 无 SampleOutput 124+659=783 125+739=864 ⋯ 386+541=927 TotalofnExpressions. (注: n是等式个数,出出个数) importjava.util.*; classEquation{ inta[]=newint[10]; inttotal=0; Equation(){} voidresult(){ for(a[1]=1;a[1]<9;a[1]++) for(a[2]=1;a[2]<10;a[2]++) {if(a[2]! =a[1]){ for(a[3]=1;a[3]<10;a[3]++) {if(a[3]! =a[1]&&a[3]! =a[2]){for(a[4]=a[1];a[4]<10;a[4]++) {if(a[4]! =a[1]&&a[4]! =a[2]&&a[4]! =a[3]){for(a[5]=1;a[5]<10;a[5]++) {if(a[5]! =a[1]&&a[5]! =a[2]&&a[5]! =a[3]&&a[5]! =a[4]){for(a[6]=1;a[6]<10;a[6]++) {if(a[6]! =a[1]&&a[6]! =a[2]&&a[6]! =a[3]&&a[6]! =a[4]&&a[6]! =a[5]){for(a[7]=a[1]+a[4];a[7]<10;a[7]++) {if(a[7]! =a[1]&&a[7]! =a[2]&&a[7]! =a[3]&&a[7]! =a[4]&&a[7]! =a[5]&&a[7]! =a[6]){for(a[8]=1;a[8]<10;a[8]++) {if(a[8]! =a[1]&&a[8]! =a[2]&&a[8]! =a[3]&&a[8]! =a[4]&&a[8]! =a[5]&&a[8]! =a[6]&&a[8]! =a[7]){ for(a[9]=1;a[9]<10;a[9]++) {if(a[9]! =a[1]&&a[9]! =a[2]&&a[9]! =a[3]&&a[9]! =a[4]&&a[9]! =a[5]&&a[9]! =a[6]&&a[9]! =a[7]&&a[9]! =a[8]){ if((a[1]+a[4])*100+(a[2]+a[5])*10+(a[3]+a[6])==a[7]*100+a[8]*10+a[9]){total++; System.out.printf("%d%d%d+%d%d%d=%d%d%d\n",a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]); }}}}}}}}} }}}}}}}} System.out.printf("Totalof%dExpressions.\n",total); } } publicclassMain{ publicstaticvoidmain(String[]args){ Equationjing=newEquation(); jing.result(); } } Description 设计一个点类和一个三角形类。 三角形的三个顶点用三个点类对象的指针表示,能计算 三角形的面积。 如果三点位于同一直线,则输出“aline”。 Input 有多组数据,每组数据由6个浮点数组成,分别表示3个点的x和y坐标。 Output 三角形面积。 如果3点共线,则输出“aline”。 面积保留两位小数。 SampleInput 871234762329 112233445566 SampleOutput 1597.50 aline importjava.util.*; importjava.lang.Math; classPoint{ doublex,y; Point(doublea,doubleb){ x=a; y=b; } } classTriangle{ Pointp1,p2,p3; Triangle(Pointa,Pointb,Pointc){ p1=a; p2=b; p3=c; } voidgetTriangle(){ doublei=(p1.y-p2.y)/(p1.x-p2.x); doublej=(p2.y-p3.y)/(p2.x-p3.x); if(i==j||(p1.x==p2.x&&p1.x==p3.x)||(p1.y==p2.y&&p1.y==p3.y)){System.out.printf("aline\n"); } else{ doublea,b,c,p; a=Math.sqrt((p2.x-p1.x)*(p2.x-p1.x)+(p2.y-p1.y)*(p2.y-p1.y)); b=Math.sqrt((p3.x-p1.x)*(p3.x-p1.x)+(p3.y-p1.y)*(p3.y-p1.y)); c=Math.sqrt((p2.x-p3.x)*(p2.x-p3.x)+(p2.y-p3.y)*(p2.y-p3.y)); p=(a+b+c)/2; doubles=Math.sqrt(p*(p-a)*(p-b)*(p-c)); System.out.printf("%.2f\n",s); } } } publicclassL{ publicstaticvoidmain(Stringargs[]){ Scannerscanner=newScanner(System.in); while(scanner.hasNext()){ doublex1,x2,x3,y1,y2,y3; x1=scanner.nextDouble(); y1=scanner.nextDouble(); x2=scanner.nextDouble(); y2=scanner.nextDouble(); x3=scanner.nextDouble(); y3=scanner.nextDouble(); Pointp1=newPoint(x1,y1); Pointp2=newPoint(x2,y2); Pointp3=newPoint(x3,y3); Trianglesu=newTriangle(p1,p2,p3); su.getTriangle(); } } } 设计一个动物声音模拟器模仿动物的叫声。 类图如下: Animal类中的方法playSound模拟动物的叫声,但输出时要求先给出名字。 程序中任何地方不允许直接用Dog或Cat的对象调用cry()方法 和getAnimalName()方法。 (P1434题) Input 若干数据,每数据由1个整型数和1个字符串成。 整型数表示物型: 0——猫、1——狗;字符串表示物的名字。 Output 先出物的名字。 如果是猫,出“Miao,Miao⋯”;如果是狗,出“Wang,Wang⋯”. SampleInput 1Eunice 1Elma importjava.util.Scanner; publicclassAnimalVoice{ publicstaticvoidmain(String[]args){ Scannerreader=newScanner(System.in); while(reader.hasNext()){ intn=reader.nextInt(); Stringname=reader.next(); Simulators=newSimulator(name); if(n==1){ s.playsound(newDog()); } elseif(n==0){ s.playsound(newCat()); } } } } abstractclassAnimal{ abstractvoidCry(); abstractStringgetAnimalName(Stringname); } classSimulator{ AnimalA; Stringname; Simulator(Stringname){ this.name=name; } voidplaysound(AnimalA){ this.A=A; System.out.print(this.A.getAnimalName(name)+": "); A.Cry(); } } classDogextendsAnimal{ voidCry(){ System.out.println("Wang,Wang..."); } StringgetAnimalName(Stringname){ returnname; } } classCatextendsAnimal{ voidCry(){ System.out.println("Miao,Miao..."); } StringgetAnimalName(Stringname){ returnname; } } Description 编写程序剔除一个字符串中全部非数字字符,例如,将形如“ab123you”的非数字字 符全部剔除,得到字符串“123”。 Input 有多组数据,每组数据由1个字符串组成,内有数字字符和非数字字符。 Output 字符串中全部数字字符。 SampleInput ab123you 2books totalof32files SampleOutput 123 2 32 package题; importjava.util.Scanner; classshanchu{ Strings; shanchu(Stringa){ s=a; } voidgetnum(){ Stringnum=s.replaceAll("[,\\D]",""); Longnumber=Long.parseLong(num); System.out.printf("%s\n",number); } } publicclassYS{ publicstaticvoidmain(Stringargs[]){ Scannerreader=newScanner(System.in); Strings; while(reader.hasNext()){ s=reader.next(); shanchuy=newshanchu(s); y.getnum(); } } } Description 设计一个自然数类,该类的对象可以表示一个自然数,可以判断该数是否是素数。 如果所给的数为 0 或负数,则在构造自然数类的对象时进行异常处理并显示“notanature! ”;如果所给的数是一个自然数,则正常构造自然数对象并给出是否是素数的结果。 Input 若干组数据,每组数据只有一个整型数。 Output 如果所给的数是自然数,则构造自然数类的对象,并判断该自然数是否是素数,如果是素数,则输出 “aprime”,否则输出“notaprime”;如果所给的数不是自然数(0或负整数),则构造自然 数对象时进行异常处理,并输出“notanature”。 SampleInput 10 -10 11 8374 SampleOutput notaprime notanature aprime notaprime importjava.util.Scanner; publicclassM_yichang{ publicstaticvoidmain(String[]args){ Scannerreader=newScanner(System.in); while(reader.hasNext()){ intn=reader.nextInt(); Naturenature=newNature(n); try{ nature.play(n); } catch(NatureExceptione){ e.warnMess(); } } } } classNatureExceptionextendsException{ Strings; publicNatureException(intn){ s="notanature"; } voidwarnMess(){ System.out.printf("%s\n",s); } } classNature{ intn; intt=0; Nature(intn){ this.n=n; } voidplay(intn)throwsNatureException{ if(n<=0){ thrownewNatureException(n); } else{ if(n==1||n==2){ System.out.println("aprime"); } else{ for(intj=2;j if(n%j==0){ t++; } } if(t==0){ System.out.printf("aprime\n"); } else{ System.out.printf("notaprime\n"); } } } } } Description 使用RandomAccessFile将一个文本文件倒置读出。 Input 自定义文本文件。 Output 将文本文件倒序读出。 importjava.io.*; publicclassMain{ publicstaticvoidmain(Stringargs[]){ Filef=newFile("E.java");; try{ RandomAccessFilerandom=newRandomAccessFile(f,"rw"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 优选 汇总 精选 docx