寻找答案为什么书中的答案不等于我从程序中得到的答案

时间:2017-02-10 15:40:27

标签: java

import java.util.Scanner;
public class Volumeofatriangle {
    public static void main(String[] args){
        //Create a scanner
        Scanner input = new Scanner(System.in);

        //Receive the length of sides of a triangle.
        System.out.print("Enter the length of your triangle: ");
        double lengthOfSides = input.nextDouble();

        //area of triangle.
        double areaOfTriangle = lengthOfSides * lengthOfSides * Math.sqrt(3) / 4;

        //volume of triangle.
        double volumeOfTriangle = areaOfTriangle * lengthOfSides;

        System.out.println("The triangle has an area of " + areaOfTriangle +
            "and a volume of " + volumeOfTriangle);
    }
}

目前我将3,5填充为三角区域,我将得到以下答案:

  

三角形的面积为5.304405598179686,体积为18.565419593628903

书中的练习是:

  

(计算三角形的体积)编写一个读取等边三角形边长的程序,并使用以下公式计算面积和体积:

     

area = square root 3/4 (length of sides)till the power of 2.   volume = area * length.

根据这些信息,我制作了上述程序。然而,书中的答案为3.5等三角形:

  

面积为3.89   三棱柱的体积为19.48

我尝试过多次编写程序,但每次都没有得到书中的答案。

我犯了错误或书中的答案是错误的吗?

2 个答案:

答案 0 :(得分:3)

书中的答案是错误的。如果您手动执行,程序的结果是正确的:3.5^2*sqrt(3)/4 = 5.3

答案 1 :(得分:1)

实际上答案是正确的,但描述不清楚。本书写的是“输入边的长度和等边三角形的高度:”这个问题,这意味着您应该输入长度和高度(2个不同的值)。

根据这本书,它必须是3和5。(只需一点,在书的3和5之间就可以了。)

通常,您应该已经加上“ height”来找到三角棱镜的体积。因此公式为:体积=面积*高度(书写长度而不是高度,令人困惑)

结果是,面积= 3.89,体积= 19.48(就像书一样,在我的结果点之后多了几位)

我做了这样的代码:


        Scanner input = new Scanner(System.in); 

        double area;
        System.out.println("Enter length of sides and height of the Equilateral triangle: ");
        double lengthOfSides = input.nextDouble();
        double height = input.nextDouble();

        area = (Math.sqrt(3)/4)*Math.pow(lengthOfSides, 2);
        double volume = area * height;

        System.out.println("The area is " + area);
        System.out.print("The volume of the Triangular prism is " + volume);

(我正在谈论Java简介,Daniel Liang,第11版,第91页)