java 给定三个点由三个点求三角形周长和面积
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 给定三个点由三个点求三角形周长和面积相关的知识,希望对你有一定的参考价值。
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
加上这句在执行就有了追问
好的 谢谢 我这个应该没有用构造函数吧
追答public Trianglele()
把你setTri()这堆代码写到这里来。就可以了。
我已经写进去了 可以运行 我这段代码没有用构造函数吧
追答public Trianglele()
这个就是构造啊。
如果不用构造函数该怎么改
追答你啥也不用改,就没用构造函数。最开始那个版本。
追问好的 谢谢了
本回答被提问者采纳 参考技术C setTri 这是初始化方法,没有被调用 参考技术D ???976. 三角形的最大周长
给定由一些正数(代表长度)组成的数组 A
,返回由其中三个长度组成的、面积不为零的三角形的最大周长。
如果不能形成任何面积不为零的三角形,返回 0
。
示例 1:
输入:[2,1,2] 输出:5
示例 2:
输入:[1,2,1] 输出:0
示例 3:
输入:[3,2,3,4] 输出:10
示例 4:
输入:[3,6,2,3] 输出:8
提示:
3 <= A.length <= 10000
1 <= A[i] <= 10^6
思路
不失一般性的,我们假设三角形的边长满足 a leq b leq ca≤b≤c。那么这三条边组成三角形的面积非零的充分必要条件是 a + b > ca+b>c。
再假设我们已经知道 cc 的长度了,我们没有理由不从数组中选择尽可能大的 aa与 bb。因为当且仅当 a + b > ca+b>c 的时候,它们才能组成一个三角形。
算法
基于这种想法,一个简单的算法就呼之欲出:排序数组。对于数组内任意的 cc,我们选择满足条件的最大的 a leq b leq ca≤b≤c,也就是大到小排序,位于 cc 后面的两个元素。 从大到小枚举 cc,如果能组成三角形的话,我们就返回答案。
int largestPerimeter(vector<int>& A){ sort(A.begin(),A.end()); for(int i = A.size()-3;i>=0;i--){ if(A[i]+A[i+1]>A[i+2]) return A[i]+A[i+1]+A[i+2]; } return 0; }
以上是关于java 给定三个点由三个点求三角形周长和面积的主要内容,如果未能解决你的问题,请参考以下文章