gpt4 book ai didi

java - 三角形的几何计算

转载 作者:太空宇宙 更新时间:2023-11-04 13:09:39 26 4
gpt4 key购买 nike

所以我制作了一个三角形程序,用户输入 3 条边。收到这三个值后,您的程序应该为以下每个问题提供答案:

  1. 这真的是一个三角形吗?如果一侧比其他两侧的总和长,则不是。
  2. 它是直角三角形吗?也就是说,它满足毕达哥拉斯定理吗?
  3. 它是等边三角形吗?也就是说,三边都一样吗?
  4. 它是等腰三角形吗?也就是说,两条边是否相同? (如果您的程序已经确定三角形是等边三角形,那么它不应该声明它是等腰三角形。)
  5. 三角形的面积是多少?
  6. 三角形的周长是多少?

我唯一困惑的是它说如果你的程序已经确定三角形是等边三角形的部分,那么它不应该说它是等腰三角形。因此,如果我输入 2,2,2 之类的内容,我需要一些帮助来弄清楚如何解决这个问题。

这是我的代码:

import java.util.*;
public class Triangle {
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
System.out.println("Welcome to the Triangle Program");
System.out.println();
double side1, side2, side3;
System.out.println("Please enter the length of side 1:");
side1 = keyboard.nextDouble();
System.out.println("Please enter the length of side 2:");
side2 = keyboard.nextDouble();
System.out.println("Please enter the length of side 3:");
side3 = keyboard.nextDouble();
keyboard.nextLine();
System.out.println("My analysis of this triangle is");
System.out.println();

if((side1 > side2+side3) || (side2 > side1+side3) || (side3 > side1+side2))
{
System.out.println("This is not a triangle");
System.exit(0);
}
else
{
System.out.println("This is a triangle");
}
if((side1*side1 == (side3*side3)+(side2*side2)) || (side2*side2 == (side3*side3)+(side1*side1)) || (side3*side3 == (side1*side1)+(side2*side2)))
{
System.out.println("This is a right triangle");
}
else
{
System.out.println("This is not a right triangle");
}
if((side1 == side2) && (side2 == side3))
{
System.out.println("This is an equilateral triangle");
}
else
{
System.out.println("This is not an equilateral triangle");
}
if((side1 == side2) || (side2 == side3) || (side3 == side1))
{
System.out.println("This is an isosceles triangle");
}
else
{
System.out.println("This is not an isosceles triangle");
}

double p = (side1 + side2 + side3)/2.0;
double area = Math.sqrt(p * (p - side1) * (p - side2) * (p - side3));
double perimeter = side1 + side2 + side3;
System.out.printf("The area of the triangle is " + "%.3f",area);
System.out.println();
System.out.println("The perimeter of the triangle is " + perimeter);
}
}

最佳答案

您可以将等边性检查添加到等腰性检查中(当然,否定):

((side1 == side2) || (side2 == side3) || (side3 == side1))
&& !((side1 == side2) && (side2 == side3))

尽管如此,我认为等边三角形不是等腰三角形。

关于java - 三角形的几何计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34099891/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com