📄 求几何图形面积周长.txt
字号:
//SolveGraphics.java
import java.util.Scanner;
import java.io.*;
class Point{double a,b;int x,y;
void print(){System.out.println("Please input two number:");
Scanner cin=new Scanner(System.in);x=cin.nextInt();y=cin.nextInt();a=(double)x;b=(double)y;
} }
class Shape {
double p;double area;static double distance;double p1,p2;
static double getDistance(double x1,double x2,double y1,double y2){
distance=Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));return distance;}
double getArea(double x1,double x2,double x3,double y1,double y2,double y3){
area=Math.abs((x1*y2+x2*y3+x3*y1-x1*y3-x2*y1-x3*y2)/2);return area;}
double getPerimeter(double x1,double x2,double x3,double y1,double y2,double y3){
p=getDistance(x1,y1,x2,y2)+getDistance(x1,y1,x3,y3)+getDistance(x3,y3,x2,y2);return p;}
static boolean isorNotTriangle(double x1,double x2,double x3,double y1,double y2,double y3){
if(x1==x2&&x2==x3)return false;
else if(y1==y2&&y2==y3)return false;
else return true;
}
void print(){System.out.println("The center of the rectangle is :"+p1+","+p2);
System.out.println("The perimeter of the rectangle is :"+p);
System.out.println("The area of the rectangle is :"+area);}
}
class Line extends Shape{
Point lp1=new Point();Point lp2=new Point();
void center(){lp1.print();lp2.print();
p1=(lp1.a+lp2.a)/2; p2=(lp1.b+lp2.b)/2;
System.out.println("The center of the graphic is :"+p1+","+p2);
System.out.println("The perimeter of the graphic is :"+getDistance(lp1.a,lp2.a,lp1.b,lp2.b));
System.out.println("The area of the graphic is :zero");}
}
class Circle extends Shape {
Point cp1=new Point();
void center(){System.out.println("你输入的坐标将是圆的圆心!");
cp1.print();p1=cp1.a;p2=cp1.b;System.out.print("Please input the radius:");
Scanner cir=new Scanner(System.in);int r=cir.nextInt();
System.out.println("The center of the circle is :"+p1+","+p2);
System.out.println("The perimeter of the circle is :"+2*Math.PI*r);
System.out.println("The area of the circle is :"+Math.PI*r*r);}
}
class Triangle extends Shape {
double sidetriangleA;double sidetriangleB;double sidetriangleC;
Point tp1=new Point(); Point tp2=new Point(); Point tp3=new Point();
void center(){tp1.print();tp2.print();tp3.print();p1=(tp1.a+tp2.a+tp3.a)/2;p2=(tp1.b+tp2.b+tp3.b)/2;
if(isorNotTriangle(tp1.a,tp2.a,tp3.a,tp1.b,tp2.b,tp3.b)==true){
p=getPerimeter(tp1.a,tp2.a,tp3.a,tp1.b,tp2.b,tp3.b);
area=getArea(tp1.a,tp2.a,tp3.a,tp1.b,tp2.b,tp3.b);print(); }
else { System.out.print("It is not a triangle.");center();}
}
}
class Rectangle extends Shape {
double siderectangleA;double siderectangleB;double siderectangleC;
Point rp1=new Point(); Point rp2=new Point(); Point rp3=new Point();
void center(){rp1.print();rp2.print();rp3.print();
System.out.println("第四点坐标可以不输入!");
siderectangleA=(rp1.a-rp2.a)*(rp1.a-rp2.a)+(rp1.b-rp2.b)*(rp1.b-rp2.b);
siderectangleB=(rp1.a-rp3.a)*(rp1.a-rp3.a)+(rp1.b-rp3.b)*(rp1.b-rp3.b);
siderectangleC=(rp2.a-rp3.a)*(rp2.a-rp3.a)+(rp2.b-rp3.b)*(rp2.b-rp3.b);
if(siderectangleA+siderectangleB==siderectangleC)
{area=Math.sqrt(siderectangleA*siderectangleB);p=2*(Math.sqrt(siderectangleA)+Math.sqrt(siderectangleB));
p1=(rp2.a+rp3.a)/2; p2=(rp2.b+rp3.b)/2;print(); }
else if(siderectangleA+siderectangleC==siderectangleB)
{area=Math.sqrt(siderectangleA*siderectangleC);p=2*(Math.sqrt(siderectangleA)+Math.sqrt(siderectangleC));
p1=(rp1.a+rp3.a)/2; p2=(rp1.b+rp3.b)/2; print();}
else if (siderectangleB+siderectangleC==siderectangleA)
{area=Math.sqrt(siderectangleC*siderectangleB);p=2*(Math.sqrt(siderectangleC)+Math.sqrt(siderectangleB));
p1=(rp2.a+rp1.a)/2; p2=(rp2.b+rp1.b)/2;print(); }
else {System.out.print("It is not a rectangle.");center();}
}
}
public class SolveGraphics extends Shape{
static double distance;static double d1,d2,d3,d4;static double d;
static double getDistance(double x1,double x2,double y1,double y2){
distance=Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
System.out.println("the distance of the two graphics is:"+distance);
return distance;}
public static void main(String args[])throws IOException{
String m;String n;System.out.println("a line,a triangle,a rectangle or a circle?");
BufferedReader ltrc1=new BufferedReader(new InputStreamReader(System.in));m=ltrc1.readLine();
if(m.equals("line")==true){System.out.println("You want to input a graphics of line");
Line line1=new Line();line1.center();d1=line1.p1;d2=line1.p2;
}
else if(m.equals("triangle")==true) {System.out.println("You want to input a graphics of triangle");
Triangle triangle1=new Triangle();triangle1.center();d1=triangle1.p1;d2=triangle1.p2;
}
else if(m.equals("rectangle")==true){System.out.println("You want to input a graphics of rectangle");
Rectangle rectangle1=new Rectangle();rectangle1.center();d1=rectangle1.p1;d2=rectangle1.p2;
}
else if(m.equals("circle")==true){System.out.println("You want to input a graphics of circle");
Circle circle1=new Circle(); circle1.center(); d1=circle1.p1;d2=circle1.p2;
}
System.out.println("another graphics:a line,a triangle,a rectangle , a circle or no?");
BufferedReader ltrc2=new BufferedReader(new InputStreamReader(System.in));n=ltrc2.readLine();
if(n.equals("no")==true){System.out.println("program is over!");}
else if(n.equals("line")==true){System.out.println("You want to input a graphics of line");
Line line2=new Line();line2.center();d3=line2.p1;d4=line2.p2;
d=getDistance(d1,d3,d2,d4);
}
else if(n.equals("triangle")==true) {System.out.println("You want to input a graphics of triangle"); Triangle triangle2=new Triangle();triangle2.center();d3=triangle2.p1;d4=triangle2.p2;
d=getDistance(d1,d3,d2,d4);
}
else if(n.equals("rectangle")==true){System.out.println("You want to input a graphics of rectangle");
Rectangle rectangle2=new Rectangle(); rectangle2.center();d3=rectangle2.p1;d4=rectangle2.p2;
d=getDistance(d1,d3,d2,d4);
}
else if(n.equals("circle")==true){System.out.println("You want to input a graphics of circle");
Circle circle2=new Circle(); circle2.center();d3=circle2.p1;d4=circle2.p2;
d=getDistance(d1,d3,d2,d4);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -