【问题标题】:How to use Math.PI and Math.pow [duplicate]如何使用 Math.PI 和 Math.pow [重复]
【发布时间】:2014-09-30 01:22:18
【问题描述】:

我正在为我的第一个 JAVA 编程做作业。到目前为止,一切进展顺利,但我在使用数学函数方面陷入了困境。

double radius;
double diameter;
double volume;

System.out.print("Enter a diameter of a sphere: ");
diameter = keyboard.nextDouble();
radius = diameter / 2;
volume = (4 / 3) * Math.PI * Math.pow(radius, 3.0);
System.out.print("Volume of the sphere is " + volume + ".");

我正在尝试使用公式来查找使用直径输入变量的球体的体积。但我一直只得到 PI 作为输出。

这是我应该做的。

  1. 添加一条提示用户输入球体直径的行。
  2. 读入并将数字存储到一个名为直径的变量中(您需要 声明您使用的任何变量)。
  3. 直径是半径的两倍,所以计算半径并将其存储在一个 适当命名的变量。
  4. 球体体积的公式是 V = 4/3 * PI * 半径^3 将公式转换为 Java 并添加一行计算和存储值 适当命名的变量中的体积。将 Math.PI 用于 PI 和 Math.pow 立方半径。
  5. 将您的结果打印到屏幕上并显示相应的消息。

我做错了什么?另外,如何使音量以 E 表示法显示?

【问题讨论】:

  • (4 / 3) 的计算结果为 ,因为 Java 将使用 Integer Arithmetic
  • 使用这个公式而不是你的 4 * Math.PI * Math.pow(radius, 3.0) / 3 来计算音量(请参阅 @PM77-1 了解为什么需要这样做)。
  • @PM77-1 你应该发一个更详细的答案让他理解
  • 我看到分子要求它是小数。每次我在java中使用分数时都需要吗?

标签: java math pow


【解决方案1】:

我认为您可能会得到一个不正确的答案,因为整数数学中的 4/3 给出 1 而不是 1.33 尝试将您的代码更改为下面给出的内容。我尝试过并为我工作得很好。

radius = diameter / 2.0d;
volume = (4.0d / 3.0d) * Math.PI * Math.pow(radius, 3); 

【讨论】:

  • 这是一个很好(正确)的评论,但不是答案。
  • @PM77-1,说得好。我对堆栈中的一些礼节还是陌生的。我想那篇文章足以让我回答:)
  • 您不需要d。默认为double
猜你喜欢
  • 1970-01-01
  • 2016-10-17
  • 2016-01-22
  • 2015-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-20
相关资源
最近更新 更多