java 给定三个点由三个点求三角形周长和面积
3.先创建一个Point类,然后定义Trianglele类。在Trianglele类中定义三个Point的实体来表示一个三角形的三个点,再定义一个方法setTri对这三个...
3.先创建一个Point类,然后定义Trianglele类。在Trianglele类中定义三个Point的实体来表示一个三角形的三个点,再定义一个方法setTri对这三个点进行初始化,然后定义两个方法求三角形的周长、面积。在main()中创建一个对象,求给定三点的三角形的周长、面积。
/**
*
*/
package zhecaishidi3ti;
/**
* @author Y
*
*/
class Point {
public int x, y;
public Point(int a, int b) {
x = a;
y = b;
}
/**
* @param args
*/
public static class Trianglele {
double x1, x2, x3;
public void setTri(){
Point A = new Point(0, 0);
Point B = new Point(3, 0);
Point C = new Point(0, 4);
x1 = Math.hypot((A.x - B.x), (A.y - B.y));
x2 = Math.hypot((B.x - C.x), (B.y - C.y));
x3 = Math.hypot((C.x - A.x), (C.y - A.y));
System.out.println("周长是"+x1 + x2 + x3);
}
public double getlength() {
return x1+x2+x3;
}
public double getMianJi() {
double b, c;
b = (x1+x2+x3) /2;
c =Math.sqrt(b*(b-x1)*(b-x2)*(b-x3));
return c;
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成的方法存根
Trianglele triangle=new Trianglele();
System.out.println("周长: " + triangle.getlength());
System.out.println("面积: " + triangle.getMianJi());
}
}
这段代码为什么执行出来结果是周长0面积0 展开
/**
*
*/
package zhecaishidi3ti;
/**
* @author Y
*
*/
class Point {
public int x, y;
public Point(int a, int b) {
x = a;
y = b;
}
/**
* @param args
*/
public static class Trianglele {
double x1, x2, x3;
public void setTri(){
Point A = new Point(0, 0);
Point B = new Point(3, 0);
Point C = new Point(0, 4);
x1 = Math.hypot((A.x - B.x), (A.y - B.y));
x2 = Math.hypot((B.x - C.x), (B.y - C.y));
x3 = Math.hypot((C.x - A.x), (C.y - A.y));
System.out.println("周长是"+x1 + x2 + x3);
}
public double getlength() {
return x1+x2+x3;
}
public double getMianJi() {
double b, c;
b = (x1+x2+x3) /2;
c =Math.sqrt(b*(b-x1)*(b-x2)*(b-x3));
return c;
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成的方法存根
Trianglele triangle=new Trianglele();
System.out.println("周长: " + triangle.getlength());
System.out.println("面积: " + triangle.getMianJi());
}
}
这段代码为什么执行出来结果是周长0面积0 展开
4个回答
2018-10-08
展开全部
你并没有调用你在Trianglele类中定义的setTri()这个方法啊,也就是x1,x2,x3这三个double类型的属性都是默认值,也就是0,自然算出来的结果是0了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
triangle.setTri();
加上这句在执行就有了
加上这句在执行就有了
更多追问追答
追问
好的 谢谢 我这个应该没有用构造函数吧
追答
public Trianglele()
{
}
把你setTri()这堆代码写到这里来。就可以了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
setTri 这是初始化方法,没有被调用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询