java 三角形类 Triangle的用法详解

 更新时间:2021年02月04日 10:17:22   作者:宝宝辉AD  
这篇文章主要介绍了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、创建的类:

// 创建的类
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

// 测试类
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类型数据,转化方式如下:

 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编写三角形的判定程序

我就废话不多说了,大家还是直接看代码吧~

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 不必同时出现。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • 快速上手Java中的Properties集合类

    快速上手Java中的Properties集合类

    java.util.Properties集合继承于Hashtable,来表示一个持久的属性集,他使用键值结构存储数据,每个键及其对应的值都是一个字符串,该类被许多java类使用,下面这篇文章主要给大家介绍了关于如何快速上手Java中Properties集合类的相关资料,需要的朋友可以参考下
    2023-02-02
  • Sentinel热门词汇限流的实现详解

    Sentinel热门词汇限流的实现详解

    这篇文章主要介绍了使用Sentinel对热门词汇进行限流的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • Intellij Idea插件开发之创建项目层级的右键菜单

    Intellij Idea插件开发之创建项目层级的右键菜单

    这篇文章主要介绍了Intellij Idea插件开发之创建项目层级的右键菜单,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • Java Stream.reduce()用法详细解析

    Java Stream.reduce()用法详细解析

    Stream API提供了丰富的中间函数,归并函数和终端函数,这些函数还支持并行化执行,下面这篇文章主要给大家介绍了关于Java Stream.reduce()用法的相关资料,需要的朋友可以参考下
    2022-12-12
  • Java泛型的使用限制实例分析

    Java泛型的使用限制实例分析

    这篇文章主要介绍了Java泛型的使用限制,结合实例形式分析了不能使用java泛型的情况以及泛型使用的相关注意事项,需要的朋友可以参考下
    2019-08-08
  • spring-cloud-gateway降级的实现

    spring-cloud-gateway降级的实现

    这篇文章主要介绍了spring-cloud-gateway降级的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Java 8 Stream filter流式过滤器详解

    Java 8 Stream filter流式过滤器详解

    本文介绍了Java 8的Stream API中的filter方法,展示了如何使用lambda表达式根据条件过滤流式数据,通过实际代码示例,展示了filter方法的高效性以及如何结合findAny和orElse方法处理更复杂的情况,适合Java新手和追求代码优雅的开发者阅读,感兴趣的朋友一起看看吧
    2025-02-02
  • java内存溢出示例(堆溢出、栈溢出)

    java内存溢出示例(堆溢出、栈溢出)

    这篇文章主要介绍了java内存溢出示例(堆溢出、栈溢出),需要的朋友可以参考下
    2014-04-04
  • SpringMVC实战案例RESTFul实现添加功能

    SpringMVC实战案例RESTFul实现添加功能

    这篇文章主要为大家介绍了SpringMVC实战案例RESTFul实现添加功能详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • 详解在springmvc中解决FastJson循环引用的问题

    详解在springmvc中解决FastJson循环引用的问题

    本篇文章主要介绍了在springmvc中解决FastJson循环引用的问题,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01

最新评论