java程序:计算三角形的面积和周长.
要求如下:1.设计出point类(点类).2.设计出triangle类,至少包括其构造方法,以及获取面积和周长的方法等.3.通过输入三点坐标的方法来确定以个三角形,并输出...
要求如下:
1.设计出point类(点类).
2.设计出triangle类,至少包括其构造方法,以及获取面积和周长的方法等.
3.通过输入三点坐标的方法来确定以个三角形,并输出三角形的面积,周长等.
(面向对象编程,求高手详解) 展开
1.设计出point类(点类).
2.设计出triangle类,至少包括其构造方法,以及获取面积和周长的方法等.
3.通过输入三点坐标的方法来确定以个三角形,并输出三角形的面积,周长等.
(面向对象编程,求高手详解) 展开
2个回答
展开全部
/*
* @(#)Point.java 2008-1-4
*/
package cn.com.robert.baidu.triangle;
/**
* @author R
*/
public class Point {
private int x;
private int y;
/*
* 构造函数
*/
public Point(int X, int Y) {
x=X;
y=Y;
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
}
--------------------------
/*
* @(#)Triangle.java 2008-1-4
*/
package cn.com.robert.baidu.triangle;
/**
* @author R
*/
/*
* 构造函数
*/
public class Triangle {
private Point a;
private Point b;
private Point c;
public Triangle(Point A,Point B,Point C) {
a=A;
b=B;
c=C;
}
/*
* 三条边的长度
*/
private double l1=Math.sqrt(Math.pow(a.getX()-b.getX(),2)+Math.pow(a.getY()-b.getY(), 2));
private double l2=Math.sqrt(Math.pow(c.getX()-b.getX(),2)+Math.pow(c.getY()-b.getY(), 2));
private double l3=Math.sqrt(Math.pow(a.getX()-c.getX(),2)+Math.pow(a.getY()-c.getY(), 2));
/*
* 定义Heron公式
*/
private double heron(double x, double y, double z){
double p=(x+y+z)/2;
double area=Math.sqrt(p*(p-x)*(p-y)*(p-z));
return area;
}
/*
* 周长是三边之和
*/
public double getVolume(){
return l1+l2+l3;
}
/*
* 调用海伦公式求面积
*/
public double getArea(){
return heron(l1,l2,l3);
}
/*
* 三点不一线
*/
public boolean isTriangle(){
return ((a.getX()-b.getX())/(a.getY()-b.getY()))!=((a.getX()-c.getX())/(a.getY()-c.getY()));
}
}
* @(#)Point.java 2008-1-4
*/
package cn.com.robert.baidu.triangle;
/**
* @author R
*/
public class Point {
private int x;
private int y;
/*
* 构造函数
*/
public Point(int X, int Y) {
x=X;
y=Y;
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
}
--------------------------
/*
* @(#)Triangle.java 2008-1-4
*/
package cn.com.robert.baidu.triangle;
/**
* @author R
*/
/*
* 构造函数
*/
public class Triangle {
private Point a;
private Point b;
private Point c;
public Triangle(Point A,Point B,Point C) {
a=A;
b=B;
c=C;
}
/*
* 三条边的长度
*/
private double l1=Math.sqrt(Math.pow(a.getX()-b.getX(),2)+Math.pow(a.getY()-b.getY(), 2));
private double l2=Math.sqrt(Math.pow(c.getX()-b.getX(),2)+Math.pow(c.getY()-b.getY(), 2));
private double l3=Math.sqrt(Math.pow(a.getX()-c.getX(),2)+Math.pow(a.getY()-c.getY(), 2));
/*
* 定义Heron公式
*/
private double heron(double x, double y, double z){
double p=(x+y+z)/2;
double area=Math.sqrt(p*(p-x)*(p-y)*(p-z));
return area;
}
/*
* 周长是三边之和
*/
public double getVolume(){
return l1+l2+l3;
}
/*
* 调用海伦公式求面积
*/
public double getArea(){
return heron(l1,l2,l3);
}
/*
* 三点不一线
*/
public boolean isTriangle(){
return ((a.getX()-b.getX())/(a.getY()-b.getY()))!=((a.getX()-c.getX())/(a.getY()-c.getY()));
}
}
展开全部
public interface Shape {
public double area();
public double longer();
}
/**
* @author vvv
* @date 2013-8-10 上午09:10:06
*/
package com.duotai;
/**
*
*
*/
public class Triangle implements Shape {
double s1;
double s2;
double s3;
// 初始化一个三角形对象,并赋予该三角形三边长
public Triangle(double s1, double s2, double s3) {
if (isTri(s1, s2, s3)) {
this.s1 = s1;
this.s2 = s2;
this.s3 = s3;
} else {
System.out.println("输入的三边长" + s1 + "、" + s2 + "、" + s3
+ "不能组成一个三角形,请重新输入三边长!");
}
}
// 判断是否是个三角形
public boolean isTri(double s1, double s2, double s3) {
if (s1 + s2 < s3) {
return false;
}
if (s1 + s3 < s2) {
return false;
}
if (s2 + s3 < s1) {
return false;
}
return true;
}
/*
* (non-Javadoc)
*
* @see com.duotai.Shape#area()
*/
@Override
public double area() {
double p = (s1 + s2 + s3) / 2;
return Math.sqrt(p * (p - s1) * (p - s2) * (p - s3));
}
/*
* (non-Javadoc)
*
* @see com.duotai.Shape#longer()
*/
@Override
public double longer() {
return s1 + s2 + s3;
}
}
/**
* @author vvv
* @date 2013-8-10 上午09:12:06
*/
package com.duotai;
/**
*
*
*/
public class Director implements Shape {
double s1;
double s2;
// 初始化一个长方形,并赋予该长方形两边长
public Director(double s1, double s2) {
this.s1 = s1;
this.s2 = s2;
}
/*
* (non-Javadoc)
*
* @see com.duotai.Shape#area()
*/
@Override
public double area() {
// TODO Auto-generated method stub
return s1 * s2;
}
/*
* (non-Javadoc)
*
* @see com.duotai.Shape#longer()
*/
@Override
public double longer() {
// TODO Auto-generated method stub
return 2 * (s1 + s2);
}
}
/**
* @author vvv
* @date 2013-8-10 上午09:13:30
*/
package com.duotai;
/**
*
*
*/
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
Shape triangle = new Triangle(3, 4, 8);
// 新建一个三边长为3,4,5的三角形
Shape tri = new Triangle(3, 4, 5);
Shape director = new Director(10, 20);
// 新建一个两边长为10,20的长方形
System.out.println("三角形triangle的周长为:" + triangle.longer());
System.out.println("三角形triangle的面积为:" + triangle.area());
System.out.println("三角形tri的周长为:" + tri.longer());
System.out.println("三角形tri的面积为:" + tri.area());
System.out.println("该长方形的周长为:" + director.longer());
System.out.println("该长方形的面积为:" + director.area());
}
}
public double area();
public double longer();
}
/**
* @author vvv
* @date 2013-8-10 上午09:10:06
*/
package com.duotai;
/**
*
*
*/
public class Triangle implements Shape {
double s1;
double s2;
double s3;
// 初始化一个三角形对象,并赋予该三角形三边长
public Triangle(double s1, double s2, double s3) {
if (isTri(s1, s2, s3)) {
this.s1 = s1;
this.s2 = s2;
this.s3 = s3;
} else {
System.out.println("输入的三边长" + s1 + "、" + s2 + "、" + s3
+ "不能组成一个三角形,请重新输入三边长!");
}
}
// 判断是否是个三角形
public boolean isTri(double s1, double s2, double s3) {
if (s1 + s2 < s3) {
return false;
}
if (s1 + s3 < s2) {
return false;
}
if (s2 + s3 < s1) {
return false;
}
return true;
}
/*
* (non-Javadoc)
*
* @see com.duotai.Shape#area()
*/
@Override
public double area() {
double p = (s1 + s2 + s3) / 2;
return Math.sqrt(p * (p - s1) * (p - s2) * (p - s3));
}
/*
* (non-Javadoc)
*
* @see com.duotai.Shape#longer()
*/
@Override
public double longer() {
return s1 + s2 + s3;
}
}
/**
* @author vvv
* @date 2013-8-10 上午09:12:06
*/
package com.duotai;
/**
*
*
*/
public class Director implements Shape {
double s1;
double s2;
// 初始化一个长方形,并赋予该长方形两边长
public Director(double s1, double s2) {
this.s1 = s1;
this.s2 = s2;
}
/*
* (non-Javadoc)
*
* @see com.duotai.Shape#area()
*/
@Override
public double area() {
// TODO Auto-generated method stub
return s1 * s2;
}
/*
* (non-Javadoc)
*
* @see com.duotai.Shape#longer()
*/
@Override
public double longer() {
// TODO Auto-generated method stub
return 2 * (s1 + s2);
}
}
/**
* @author vvv
* @date 2013-8-10 上午09:13:30
*/
package com.duotai;
/**
*
*
*/
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
Shape triangle = new Triangle(3, 4, 8);
// 新建一个三边长为3,4,5的三角形
Shape tri = new Triangle(3, 4, 5);
Shape director = new Director(10, 20);
// 新建一个两边长为10,20的长方形
System.out.println("三角形triangle的周长为:" + triangle.longer());
System.out.println("三角形triangle的面积为:" + triangle.area());
System.out.println("三角形tri的周长为:" + tri.longer());
System.out.println("三角形tri的面积为:" + tri.area());
System.out.println("该长方形的周长为:" + director.longer());
System.out.println("该长方形的面积为:" + director.area());
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |