好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

java 三角形类 Triangle的用法详解

三角形类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的用法详解的详细内容...

  阅读:26次