计算三角形的周长和面积 java
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算三角形的周长和面积 java相关的知识,希望对你有一定的参考价值。
1,先设计一个Point类,包括其构造方法,设置和修改坐标,求解两点距离等方法。
2,再使用Point类,设计一个三角形(Triangle)类,包括构造方法,求解三角形面积和周长等方法。
class Point
private int x;
private int y;
public Point(int x1,int y1)
x = x1;
y = y1;
double dist(Point p)
return Math.sqrt((x - p.x) * (x - p.x) + (y - p.y) * (y - p.y));
public int getX()
return x;
public int getY()
return y;
class Triangle
Point p1,p2,p3;
public Triangle(Point p1,Point p2,Point p3)
this.p1 = p1;
this.p2 = p2;
this.p3 = p3;
double area()
double a = p1.dist(p2);
double b = p2.dist(p3);
double c = p3.dist(p3);
double s = (a + b + c) / 2;
double area1 = Math.sqrt(s * (s - a) * (s - b) * (s - c));
return area1;
public class Exp3_1
public static void main(String[] args)
Point p1 = new Point(5,5);
Point p2 = new Point(10,20);
Point p3 = new Point(15,5);
Triangle Area = new Triangle(p1,p2,p3);
System.out.println("" + p1.dist(p2));
System.out.println("" + Area.area());
面积得出来是0,为什么啊???
class Point
private int x;
private int y;
public Point(int x1,int y1)
x = x1;
y = y1;
double dist(Point p)
return Math.sqrt((x - p.x) * (x - p.x) + (y - p.y) * (y - p.y));
public int getX()
return x;
public int getY()
return y;
class Triangle
Point p1,p2,p3;
public Triangle(Point p1,Point p2,Point p3)
this.p1 = p1;
this.p2 = p2;
this.p3 = p3;
double area()
double a = p1.dist(p2);
double b = p2.dist(p3);
double c = p3.dist(p1);//这一行错了哈,应该是p3到p1的距离,你那是p3到p3的距离了当然面积变成0了
double s = (a + b + c) / 2;
double area1 = Math.sqrt(s * (s - a) * (s - b) * (s - c));
return area1;
public class Exp3_1
public static void main(String[] args)
Point p1 = new Point(5,5);
Point p2 = new Point(10,20);
Point p3 = new Point(15,5);
Triangle Area = new Triangle(p1,p2,p3);
double c=p1.dist(p2)+p2.dist(p3)+p3.dist(p1);//周长输出也不对,应该是三边的和,也就是c的值。
System.out.println(c);
System.out.println(Area.area());//println方法不一定非加""+的。
参考技术A 三角形周长:三条边相加的和
三角形面积:底×高÷2
一定要选我呀!我可是一字一字打出来的!
参考资料:大脑
[PTA]实验3-8 输出三角形面积和周长
本题要求编写程序,根据输入的三角形的三条边a、b、c,计算并输出面积和周长。注意:在一个三角形中, 任意两边之和大于第三边。三角形面积计算公式:area=√s(s−a)(s−b)(s−c),其中s=(a+b+c)/2。
输入格式:
输入为3个正整数,分别代表三角形的3条边a、b、c。
输出格式:
如果输入的边能构成一个三角形,则在一行内,按照area = 面积; perimeter = 周长的格式输出,保留两位小数。否则,输出These sides do not correspond to a valid triangle
输入样例1:
5 5 3
输出样例1:
area = 7.15; perimeter = 13.00
输入样例2:
1 4 1
输出样例2:
These sides do not correspond to a valid triangle
- 提交结果:
- 源码:
#include<stdio.h>
int main(void)
{
int a, b, c;
double s, area, perimeter;
scanf("%d%d%d", &a, &b, &c);
// 任意两边之和大于第三边才能构成三角形
if (a + b > c && a + c > b && b + c > a)
{
s = (a + b + c) / 2.0;
// 海伦公式求面积
area = sqrt(s * (s - a) * (s - b) * (s - c));
// 周长
perimeter = a + b + c;
printf("area = %.2f; perimeter = %.2f\\n", area, perimeter);
}
else
{
printf("These sides do not correspond to a valid triangle");
}
return 0;
}
以上是关于计算三角形的周长和面积 java的主要内容,如果未能解决你的问题,请参考以下文章