尝试在不使用 built-in 学校用品的情况下创建牛顿平方根计算器。我记下来了,但数学有点不对劲

Trying to create a calculator for Newton's Square Root without using built-in things for school. I have it down but the math is a little off

我将在 6 分钟内接受答案。现在要声明我的答案已被 Elliott Frisch 成功解决。他提供了一个解决方案来解决我 运行 遇到的问题。

尝试执行“方程式”时,它正确执行了操作,但似乎关闭了。关闭它并没有真正以我想要的方式显示它。一个例子是这样的:

公式 = √ N ≈ ½(N/A + A)

// 1/2(121/10+10) which is 11.05.

// My program on the other hand does this:

var FirstTextFieldData = Integer.parseInt(TextFieldOne.getText()); // Positive Number
var SecondTextFieldData = Integer.parseInt(TextFieldTwo.getText()); // Educated Guess

double Equation = (double)1 / 2 * ((FirstTextFieldData / SecondTextFieldData) + SecondTextFieldData);

// FirstTextFieldData being the input for the positive number (N).
// SecondTextFieldData being the educated guess (A).

// Let's say I did:

double Equation = (double)1 / 2 * ((121 / 10) + 10);

// It does it correctly but displays as 11.0. I need it to display as 11.05.

一切似乎都是对的。似乎没有任何问题,方程式正在正确执行它的操作。我遇到的唯一“主要”问题是它没有以我想要的方式显示。我尝试更改一些内容,例如删除“(double)”,但这只会使等式变为 0.0 并且不正确。

有什么帮助吗?在这一点上我很困惑并且被困了好几分钟。如果我的格式和解释不是很好,非常抱歉。尽我所能解释这一点。

我还想声明,是的,我可以使用 Java 的数学库,但我的讲师明确指出 使用任何可能实现它的“库”更容易做到这一点。

我用过的资源: https://www.school-for-champions.com/algebra/square_root_approx.htm

编辑:在标题末尾添加了句号。

您在多个地方使用整数数学。解决方案 1:

double Equation = (1 / (double) 2) * ((121 / (double) 10) + 10);

解决方案 2:

double Equation = 0.5 * ((121 / 10.0) + 10);

两者都会将 Equation 设置为 11.05。或者,您可以使用变量作为您的术语 - 这可能更容易阅读。喜欢,

double N = 121;
double A = 10;
double Equation = 0.5 * ((N / A) + A);