java求三个点组成的三角形面积

设计一个点类Point,一个求面积的类Triangle,怎么做啊,我做的时候,做求面积的类的时候,不知道引入点类的对象,怎么做啊,可以在Triangle类中实现求面积的方... 设计一个点类Point,一个求面积的类Triangle,怎么做啊,我做的时候,做求面积的类的时候,不知道引入点类的对象,怎么做啊,可以在Triangle类中实现求面积的方法吗,有哪位大哥写个程序让我参考下不啊,谢谢 展开
 我来答
趣事情
推荐于2016-11-07 · 知道合伙人互联网行家
趣事情
知道合伙人互联网行家
采纳数:517 获赞数:5452
电脑技术,软件开发。移动开发。网站建设相关专业知识。都可以提供解答和相关技术指导。

向TA提问 私信TA
展开全部
简单代码如下:
//引入输入输出包
import java.io.*;
public class getSize {
//主函数入口,如果输入有误则抛出异常
public static void main(String[] args) throws IOException {
//声明double类型变量 三个边长a,b,c,边长s,面积area
double a,b,c,s;
double area;
//首先实例化输入的reader对象,然后实例化缓存对象
InputStreamReader reader=new InputStreamReader(System.in);
BufferedReader input =new BufferedReader(reader);
//提示输入信息,并且输入
System.out.println("请输入三角形的边长a");
String temp=input.readLine();
a=Double.parseDouble(temp);
System.out.println("请输入三角形的边长b");
temp=input.readLine();
b=Double.parseDouble(temp);
System.out.println("请输入三角形的边长c");
temp=input.readLine();
c=Double.parseDouble(temp);
//如果输入的包含负数
if(false==((a>0)&&(b>0)&&(c>0))){
System.out.println("输入数据有误,请重试");
System.exit(1);
}
Boolean bool1=(a+b)>c;
Boolean bool2=(a+c)>b;
Boolean bool3=(b+c)>a;
//如果两边之和不大于第三边则不符合三角形组成条件
if(false==(bool1&&bool2&&bool3)){
System.out.println("抱歉,你输入的数据不能组成三角形,任意两边之和必须大于第三边");
System.exit(1);
}
//如果两边之差不小于第三边则不和三角形组成条件
bool1=(a-b)<c;
Boolean bool4=(b-a)<c;
bool2=(a-c)<b;
Boolean bool5=(c-a)<b;
bool3=(b-c)<a;
Boolean bool6=(c-b)<a;
if(false==(bool1&&bool2&&bool3&&bool4&bool5&bool6)){
System.out.println("抱歉,您输入的数据不能组成三角形,任意两个之差必须小于第三边");
System.exit(1);
}
//利用海伦公式获取三角形的面积
s=(a+b+c)/2;
area=Math.sqrt(s*(s-a)*(s-b)*(s-c));
System.out.println("该三角形的面积是:"+area);
}
}
就是不敢告诉她
2009-07-06 · TA获得超过1015个赞
知道小有建树答主
回答量:249
采纳率:0%
帮助的人:145万
展开全部
先计算任意两点间的距离,既得到三条边的长度,再用海伦公式:S=√[p(p-a)(p-b)(p-c)] ,p为半周长p=(a+b+c)/2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Draconious
推荐于2018-03-20 · TA获得超过6242个赞
知道大有可为答主
回答量:2142
采纳率:0%
帮助的人:2583万
展开全部
class Point{
private double x,y;
public Point(){
x=0;y=0;
}
public Point(double x,double y){
this.x=x;this.y=y;
}
public double getX(){
return x;
}
public double getY(){
return y;
}
}

class Triangle{
private Point p1,p2,p3;
public Triangle(){
p1=new Point();
p2=new Point();
p3=new Point();
}
public Triangle(double x1,double y1,double x2,double y2,double x3,double y3){
p1=new Point(x1,y1);
p2=new Point(x2,y2);
p3=new Point(x3,y3);
}
public double getArea(){
double x1=p1.getX(),y1=p1.getY(),x2=p2.getX(),y2=p2.getY(),x3=p3.getX(),y3=p3.getY();
double s1=Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
double s2=Math.sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3));
double s3=Math.sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3));
double p=(s1+s2+s3)/2;
double a=Math.sqrt(p*(p-a)*(p-b)*(p-c));
return a;
}
}

应该是这样。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
郭某人来此
2015-10-07 · TA获得超过1645个赞
知道答主
回答量:952
采纳率:100%
帮助的人:89.3万
展开全部
class Point{
private double x,y;
public Point(){
x=0;y=0;
}
public Point(double x,double y){
this.x=x;this.y=y;
}
public double getX(){
return x;
}
public double getY(){
return y;
}
}

class Triangle{
private Point p1,p2,p3;
public Triangle(){
p1=new Point();
p2=new Point();
p3=new Point();
}
public Triangle(double x1,double y1,double x2,double y2,double x3,double y3){
p1=new Point(x1,y1);
p2=new Point(x2,y2);
p3=new Point(x3,y3);
}
public double getArea(){
double x1=p1.getX(),y1=p1.getY(),x2=p2.getX(),y2=p2.getY(),x3=p3.getX(),y3=p3.getY();
double s1=Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
double s2=Math.sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3));
double s3=Math.sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3));
double p=(s1+s2+s3)/2;
double a=Math.sqrt(p*(p-a)*(p-b)*(p-c));
return a;
}
}

应该是这样。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式