Java题优选汇总精选docx.docx

上传人:b****7 文档编号:23329568 上传时间:2023-05-16 格式:DOCX 页数:51 大小:57.24KB
下载 相关 举报
Java题优选汇总精选docx.docx_第1页
第1页 / 共51页
Java题优选汇总精选docx.docx_第2页
第2页 / 共51页
Java题优选汇总精选docx.docx_第3页
第3页 / 共51页
Java题优选汇总精选docx.docx_第4页
第4页 / 共51页
Java题优选汇总精选docx.docx_第5页
第5页 / 共51页
点击查看更多>>
下载资源
资源描述

Java题优选汇总精选docx.docx

《Java题优选汇总精选docx.docx》由会员分享,可在线阅读,更多相关《Java题优选汇总精选docx.docx(51页珍藏版)》请在冰豆网上搜索。

Java题优选汇总精选docx.docx

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"

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 育儿知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1