【问题标题】:The golden ratio in javajava中的黄金比例
【发布时间】:2017-05-15 23:22:45
【问题描述】:

考虑序列 X1=1, X2= 1+1/1, X3= 1+1/1+1/1... 。在这个序列中,Xn+1 = 1+1/Xn(对于 n>= 1)。用 Java 编写一个计算 Xn 的方法。随着 n 的增加,这个序列的项越来越接近黄金比例 1+sqrt 5/ 2 ~ 1.61803398875。 X10 离黄金比例有多近?

这是我编写的程序,但是当我在 java 中运行它时,它无法编译。我不知道该怎么办,明天就到期了。请帮忙!

public class Golden Ratio

{

public static final double GOLDEN = ( 1 + Math.sqrt(5))/2;
/**
 * precondition: Class(Golden Ratio), n values 
 * precondition: sequence values found
 */
public static double sequence (int n)
{
if (n == 0) {
return 1;
{
public static void main(String[] args)
{
for (int n = 0; n < 40; n++)
{
double diff = Math.abs(sequence(n) - GOLDEN);
System.out.print(n+1+")");
System.out.print(n + 1 < 10 ? " seq " + sequence(n): "seq " + sequence (n))
System.out.print("gld " + GOLDEN);
System.out.print("diff = %.32f\t". diff);
System.out.print("\n");
}
System.out.print("\n");
System.out.print("10)" + "sqe " + sequence(9) + "ln gld + GOLDEN"\t diff = %.32 f\t" + diff);
System.out.print("");
}
}
}

【问题讨论】:

  • 欢迎来到 StackOverflow。编译器给你的错误信息是什么?
  • sequence方法中取出main方法,然后从main方法中调用sequence方法。
  • 这就是我所拥有的,但是当我将我的程序写入这个论坛时,它不会让我发布,直到我改变它。
  • 程序代码。我可能只是一个错字,直到论坛要求我更改它,我才发现它。
  • 一个好的第一步通常是把你的错误信息输入谷歌。至少您需要在此处发布错误消息。如果您拥有的代码不是您尝试编译的代码,我们无法知道您做了什么,没有改变,所以我们只是推测问题所在。如果您在向本网站发布内容时遇到问题,至少在您通读 the editing help page 之后,Meta Stack Overflow 将是您提出问题的地方。

标签: java compiler-errors


【解决方案1】:

你的函数应该完成所有的计算工作。您的主要方法只是调用它并显示结果。这是它的结构。您仍然需要执行计算序列的部分。不过,在你做这项工作之前,请仔细检查定义。如果X3=1 + 1/1 + 1/1,那和说X3=3是一样的,显然是错误的。

public static double calculateSequence(int n) {
    double sum=0.0;
    for (int i=0; i<n; i++) {
       // do your magic
    }
    return sum;
}

public static void main(String[] args) {
    double answer=calculateSequence(10);
    System.out.println("%f is off by %f", answer, GOLDEN_RATIO - answer);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-05
    • 2017-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-09
    相关资源
    最近更新 更多