编程练习

来源:互联网 发布:淘宝修改销量代码 编辑:程序博客网 时间:2024/05/22 06:48
编写一个三角形类,能根据输入的3个double类型数据构造三角形对象,定义三个构造方法。
如果这3个数据满足构成三角形的条件,直接构造三角形。否则,如果3个数的最大值大于0,则自动构造以最大值为边的等边三角形。如果最大值也不大于0,则将三角形类的三边都初始化为0。
再定义一个getArea方法,计算所构造的三角形的面积,返回类型为double。
最后,编写main方法,测试getArea方法,计算三角形的面积。

输入:
输入三个有理数,中间用空格隔开。例如:
8.9 6.4 7.2

输出:
输出三角形的面积。例如:
22.78812396293297
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner input = new Scanner(System.in);double x1, x2,x3,x;x1 = input.nextDouble();x2 = input.nextDouble();x3 = input.nextDouble();if ((x1 + x2) > x3 && x2 + x3 > x1 && x3 + x1 > x2) {MyPoint p1 = new MyPoint(x1, x2, x3);System.out.println(p1.getArea());}else if ((x = ((((x1 > x2) ? x1 : x2) > x3) ? ((x1 > x2) ? x1 : x2) : x3)) > 0) {MyPoint p1 = new MyPoint(x, x, x);System.out.println(p1.getArea());}else {MyPoint p1=new MyPoint(0,0,0);System.out.println(p1.getArea());}}}class MyPoint {//MyPoint   为三角形类  private double x, x1,x2;MyPoint() {x = 0;x1=0;x2=0;}MyPoint(double x, double x1,double x2) {this.x = x;this.x1=x1;this.x2=x2;}public double getArea() {double p=(x+x1+x2)/2;return Math.sqrt(p*(p-x)*(p-x1)*(p-x2));}}

0 0
原创粉丝点击