三角形类Triangle
设计一个名为 Triangle 的类来扩展 GeometricObject 类。该类包括:
1、三个名为 side1,side2,side3 的double 数据域表示这个三角形的三条边,它们的默认值是1.0.
2、一个无参构造方法创建的默认的三角形
3、一个能创建带指定side1,side2,side3的三角形的构造方法
4、所有三个数据域的访问器方法
5、一个名为getArea()的方法返回这个三角形的面积
6、一个名为getPerimeter()的方法返回这个三角形的周长
7、一个名为toString()的方法返回这个三角形的字符串描述
问题分析:
按部就班,根据要求,从数据域,到构造方法(无参,有参),到方法,到测试类
学会使用继承以及继承的方法就好
代码演示(已验证)
1、创建的类:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
// 创建的类 package java_testquestions; class GeometricObject{ private String color = "white" ; private boolean filled; private java.util.Date dateCreated; public GeometricObject() { dateCreated = new java.util.Date(); } public GeometricObject(String color, boolean filled) { dateCreated = new java.util.Date(); this .color = color; this .filled = filled; } public String getColor() { return color; } public void setColor(String color) { this .color = color; } public boolean filled() { return filled; } public void setFilled( boolean filled) { this .filled = filled; } public java.util.Date getDateCreated(){ return dateCreated; } public String toString() { return "created on " +dateCreated + "\n color: " +color + " and filled: " +filled; } } public class Triangle extends GeometricObject { private double side1; private double side2; private double side3; String color;
Triangle(){ side1 = 1.0 ; side2 = 1.0 ; side3 = 1.0 ; } public Triangle( double side1, double side2, double side3) { this .side1 = side1; this .side2 = side2; this .side3 = side3; } public double getSide1() { return side1; } public double getSide2() { return side2; } public double getSide3() { return side3; } // 父类中已有该方法 public void setColor(String Color) { color = Color; } public String getColor() { return color; } public double getArea() { double s = (side1+side2+side3)* 1.0 / 2 ; double area = Math.sqrt(s*(s-side1)*(s-side2)*(s-side3)); return area; }
public double getPerimeter() { return side1+side2+side3; } public String toString() { return "Triangle: side1 = " +side1 + "side2 = " +side2 + " side3 = " +side3; } } |
2、测试类,Triangle_Test
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
// 测试类 package java_testquestions; import java.util.Scanner; public class Triangle_Test { public static void main(String[] args) { Scanner input = new Scanner(System.in);
System.out.println( "请输入三角形的三条边:" ); // 需要用字符串类型输入,这样在下面 输入颜色时就不会报错 String side11 = input.nextLine(); double side1 = Double.parseDouble(side11); String side22 = input.nextLine(); double side2 = Double.parseDouble(side22); String side33 = input.nextLine(); double side3 = Double.parseDouble(side33); // double side1 = input.nextDouble(); // double side2 = input.nextDouble(); // double side3 = input.nextDouble(); Triangle triangle = new Triangle(side1,side2,side3);
System.out.println( "请输入三角形的颜色: " ); String color = input.nextLine(); triangle.setColor(color); System.out.println( "\n" );
System.out.println( "请输入是否填充 true or false:" ); boolean filled = input.nextBoolean(); triangle.setFilled(filled);
System.out.println( "三角形的面积为 :" +triangle.getArea()); System.out.println( "三角形的周长为 :" +triangle.getPerimeter()); System.out.println( "三角形的颜色为 :" +triangle.getColor()); System.out.println( "三角形是否填充 :" +triangle.filled()); } } |
泡泡:
创建类的话认真点应该没什么,在测试类里面有一个细节需要注意:在输入 double 类型 的边长时,要先使用字符串类型输入,然后在转化为double类型数据,转化方式如下:
1 2 3 4 5 6 |
String side11 = input.nextLine(); double side1 = Double.parseDouble(side11); String side22 = input.nextLine(); double side2 = Double.parseDouble(side22); String side33 = input.nextLine(); double side3 = Double.parseDouble(side33); |
嗯,ok,收工。
补充:利用java编写三角形的判定程序
我就废话不多说了,大家还是直接看代码吧~
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
public static void main(String[] args) { // TODO 自动生成的方法存根 int a,b,c; System.out.println([请输入三角形的三边]); @SuppressWarnings ([resource]) Scanner sc= new Scanner(System.in); System.out.println([a=]); a=sc.nextInt(); System.out.println([b=]); b=sc.nextInt(); System.out.println([c=]); c=sc.nextInt(); if ((a+b)>c&&(b+c)>a&&(c+a)>b) System.out.println(a+],]+b+],]+c+]能构成三角形!]); else System.out.println(a+],]+b+],]+c+]不能构成三角形!]); } |
运行结果如下所示
程序小总结:
有的时候,我们需要在满足某种条件时进行一些操作,而不满足条件时就不进行任何操作,这个时候我们可以只使用 if 语句。也就是说,if else 不必同时出现。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
原文链接:https://blog.csdn.net/qq_42124842/article/details/90752580
查看更多关于java 三角形类 Triangle的用法详解的详细内容...