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;jif(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"