【发布时间】:2020-02-20 22:56:22
【问题描述】:
简介:您好,这里是第一次发帖和初学者 Java 学习者,需要一些帮助“清理”我的代码。我已经成功打印了给定的输出,但想知道是否还有其他“更简单”的方法来完成这个练习。我在考虑递归,但真的不知道从哪里开始。
问题
-
编写一个生成此输出的循环:
1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377 您的输出必须看起来与上面的示例完全一样——在一行中,逗号和空格如图所示。请注意,行尾没有逗号。
我尝试过的
我的解决方案涉及使用int 类型的三个变量:first_num、sec_num、third_num,并带有 for 循环和 if 语句。
// declare and initialize int first, sec, and sum
int first_num = 1;
int sec_num = 1;
int sum = 0;
//2
for (int i = 0; i <= 10;i++) {
sum = first_num + sec_num;
if (i == 0) {
System.out.print(first_num + ", " + sec_num + ", ");
}
System.out.print(sum + ", ");
first_num = sec_num;
sec_num = sum;
}
System.out.print(sum);
【问题讨论】:
-
搜索“斐波那契”
-
你的解决方案对我来说似乎很好
-
您只需要跟踪您当前的总和和之前的数字。这两者之和为您提供下一个数字(1+1=2、1+2=3、2+3=5、3+5=8 等)
-
当我们谈到主题时——您应该遵循 Java 命名约定。变量名和方法名用驼峰命名法书写。所以没有下划线。