可借鉴,不可抄袭!
【问题描述】定义一个描述三角形的类,名字为Triangle,属性有:
private double a, b, c;
方法有:
double getPerimeter(),计算三角形的周长
double getArea(),计算三角形的面积
public void setSide(double x, double y, double z),对属性a、b、c分别赋值为x、y、z
另外,有构造方法:
public Triangle(double a, double b, double c),如果a、b、c不能构成一个三角形,则a、b、c都赋值为0
【输入形式】三个数,表示三角形的三边长度。
【输出形式】三角形的周长、面积、以及三边的长度。
【样例输入1】
3
4
5
【样例输出1】
perimeter=12.0
area=6.0
a=3.0,b=4.0,c=5.0
【样例输入2】
1
2
3
【样例输出2】
perimeter=0.0
area=0.0
a=0.0,b=0.0,c=0.0
package Demo;
import java.util.Scanner;
public class Demo21 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
double a = in.nextDouble();
double b = in.nextDouble();
double c = in.nextDouble();
Triangle s = new Triangle(a,b,c);
s.getArea();
System.out.println("perimeter="+s.getPerimeter());
System.out.printf("area=%.1f\n" , s.getArea());
s.back();
in.close();
}
}
class Triangle{//三角形类
private double a,b,c;//私有的边长
double getPerimeter(){//根据题目要求,返回周长
double Perimeter;
Perimeter = a+b+c;
return Perimeter;
}
double getArea(){//根据题目返回面积,用到Math
double t = (a+b+c)/2.0;
double Area = Math.sqrt(t*(t-a)*(t-b)*(t-c));
return Area;
}
public void setSide(double x, double y, double z){
a=x;
b=y;
c=z;
}
public Triangle(double a, double b, double c){//这里由于定义时候就给定了边长,所以这里就做出判断
if (a+b<=c||a+c<=b||b+c<=a){
this.setSide(0,0,0);//调用边长设定函数
}else {
this.setSide(a,b,c);
}
}
public void back(){//由于是private,就在这里用函数返回
System.out.println("a="+this.a+","+"b="+this.b+","+"c="+this.c);
}
}