尝试在不使用 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);
我将在 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);