计算三角形的周长和面积 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的主要内容,如果未能解决你的问题,请参考以下文章

java求三角形的面积和周长 问题

java编程,定义一个三角形类求周长和面积 要求实例化

计算三角形的周长和面积

java 给定三个点由三个点求三角形周长和面积

java编程求三角形面积

15 输出三角形面积和周长