📄 shiyan3.java
字号:
//shiyan3.java
import java.util.Scanner;
interface gongyongable//定义gongyongable接口
{
public void zhouchang();
public void area();
}
class tuxing//图形中包含直线类
{
public static class line
{
void setline()
{
System.out.println("请输入直线的斜率,然后按回车");
Scanner k = new Scanner(System.in);
int k1 = k.nextInt();
System.out.println("请输入直线的截距,然后按回车");
Scanner b = new Scanner(System.in);
int b1 = b.nextInt();
System.out.println("y="+k1+"x+"+b1);
}
}
}
/*abstract class line1//抽象类line1
{
abstract void setline();
void print()
{
System.out.println("这是你输入的直线");
}
}*/
abstract class triangle1//抽象类triangle1
{
abstract void setside();
void print()
{
System.out.println("这是你输入的三角形");
}
}
abstract class circle1//抽象类circle1
{
abstract void setyuan();
void print()
{
System.out.println("这是你输入的圆");
}
}
abstract class rectangle1//抽象类rectangle1
{
abstract void setRectangle1();
void print()
{
System.out.println("这是你输入的矩形");
}
}
/*class line extends line1//继承line1
{
void setline()
{
System.out.println("请输入直线的斜率,然后按回车");
Scanner k = new Scanner(System.in);
int k1 = k.nextInt();
System.out.println("请输入直线的截距,然后按回车");
Scanner b = new Scanner(System.in);
int b1 = b.nextInt();
System.out.println("y="+k1+"x+"+b1);
}*/
class triangle extends triangle1 implements gongyongable//继承triangle1
{ double sideA,sideB,sideC;
double a0,a1,b0,b1,c0,c1;
public void setside(int k1,int k2, int k3)//多态性
{
sideA=k1;
sideB=k2;
sideC=k3;
}
public void setside()
{
System.out.println("请输入点a的坐标,然后按回车");
Scanner sx1 = new Scanner(System.in);
int x1 = sx1.nextInt();
Scanner sy1 = new Scanner(System.in);
int y1 = sy1.nextInt();
System.out.println("请输入点b的坐标,然后按回车");
Scanner sx2 = new Scanner(System.in);
int x2 = sx2.nextInt();
Scanner sy2 = new Scanner(System.in);
int y2 = sy2.nextInt();
System.out.println("请输入点c的坐标,然后按回车");
Scanner sx3 = new Scanner(System.in);
int x3 = sx3.nextInt();
Scanner sy3 = new Scanner(System.in);
int y3 = sy3.nextInt();
a0=Math.pow(x1-x2,2);
a1=Math.pow(y1-y2,2);
b0=Math.pow(x1-x3,2);
b1=Math.pow(y1-y3,2);
c0=Math.pow(x2-x3,2);
c1=Math.pow(y2-y3,2);
sideA=Math.sqrt(a0+a1);
sideB=Math.sqrt(b0+b1);
sideC=Math.sqrt(c0+c1);
}
double zhouchang,area,p,pingfang;
boolean isRoNotTriangle()
{
if(sideA+sideB>sideC&&sideA+sideC>sideB&&sideC+sideB>sideA)
{
System.out.println("这是三角形");
return true;
}
else
{
System.out.println("这不是三角形");
return false;
}
}
public void zhouchang()//求三角形的周长
{zhouchang=sideA+sideB+sideC;
System.out.println("这三角形的周长是:" +zhouchang);
}
public void area()//求三角形的面积
{
p=(sideA+sideB+sideC)/2;
pingfang=p*(p-sideA)*(p-sideB)*(p-sideC);
area=Math.sqrt(pingfang);
System.out.println("这三角形的面积是:" +area);
}
}
class circle extends circle1 implements gongyongable//继承circle1
{
int r;
void setyuan()
{
System.out.println("请输入圆点横坐标,然后按回车");
Scanner x1 = new Scanner(System.in);
int x = x1.nextInt();
System.out.println("请输入圆点纵坐标,然后按回车");
Scanner y1 = new Scanner(System.in);
int y = y1.nextInt();
System.out.println("请输入圆的半径,然后按回车");
Scanner r1 = new Scanner(System.in);
int r2 = r1.nextInt();
r=r2;
}
public void zhouchang()
{
double zhouchang;
zhouchang=2*r*Math.PI;
System.out.println("圆的周长为:" +zhouchang);
}
public void area()
{
double area,area1;
area1=Math.pow(r,2);
area=area1*Math.PI;
System.out.println("圆的面积为:" +area);
}
}
class rectangle extends rectangle1 implements gongyongable//继承rectangle1
{ int a,b;
public void setRectangle1()
{
System.out.println("请输入矩形的长,然后按回车");
Scanner a1 = new Scanner(System.in);
int a2 = a1.nextInt();
System.out.println("请输入矩形的,然后按回车");
Scanner b1 = new Scanner(System.in);
int b2 = b1.nextInt();
a=a2;
b=b2;
}
public void zhouchang()
{
double zhouchang;
zhouchang=2*(a+b);
System.out.println("矩形的周长为:" +zhouchang);
}
public void area()
{
double area;
area=a*b;
System.out.println("矩形的面积为:" +area);
}
}
class shiyan31
{
void print()
{System.out.println(" ");
System.out.println("*************************************************************");
System.out.println("直线类请按1 三角形类2 圆类请按3 求矩形请按4 退出请按5");
Scanner s = new Scanner(System.in);
int i = s.nextInt();
switch(i)
{
case 1:
tuxing.line A= new tuxing.line();
A.setline();
//A.print();
break;
case 2:
triangle B =new triangle();
B.setside();
B.isRoNotTriangle();
B.zhouchang();
B.area();
B.print();
break;
case 3:
circle C= new circle();
C.setyuan();
C.zhouchang();
C.area();
C.print();
break;
case 4 :
rectangle D=new rectangle();
D.setRectangle1();
D.zhouchang();
D.area();
D.print();
break;
case 5 :
System.exit(1);
}
}
}
public class shiyan3
{
public static void main(String[] args)
{
shiyan31 k=new shiyan31();
boolean flag;
flag=true;
while(flag)
{
k.print();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -