如何生成斐波那契数列?
How to generate Fibonacci numbers?
private TextView tvOutput;
int[]feld = new int[30];
feld[0]=0;
feld[1]=1;
for(int i=2; i<30; i++){
feld[i]=feld[i-2]+feld[i-1];
tvOutput.setText (Integer.toString(feld[i]));
}
代码在每次循环时都会覆盖我的 var i,因此程序最后只显示最后一个数字。但它应该显示所有三十个数字。我怎样才能解决这个问题?
这是因为您在循环的每次迭代中不断覆盖 tvOutput
的 text
属性。它显示最后一个数字,因为 tvOutput.setText(Integer.toString(feld[29]))
是最后一次调用 setText
。而是将其从循环中移除并传入转换为字符串的数组:
int[]feld = new int[30];
feld[0]=0;
feld[1]=1;
for(int i=2; i<30; i++) {
feld[i]=feld[i-2]+feld[i-1];
}
tvOutput.setText(Arrays.toString(feld));
private TextView tvOutput;
int[]feld = new int[30];
feld[0]=0;
feld[1]=1;
for(int i=2; i<30; i++){
feld[i]=feld[i-2]+feld[i-1];
tvOutput.setText (Integer.toString(feld[i]));
}
代码在每次循环时都会覆盖我的 var i,因此程序最后只显示最后一个数字。但它应该显示所有三十个数字。我怎样才能解决这个问题?
这是因为您在循环的每次迭代中不断覆盖 tvOutput
的 text
属性。它显示最后一个数字,因为 tvOutput.setText(Integer.toString(feld[29]))
是最后一次调用 setText
。而是将其从循环中移除并传入转换为字符串的数组:
int[]feld = new int[30];
feld[0]=0;
feld[1]=1;
for(int i=2; i<30; i++) {
feld[i]=feld[i-2]+feld[i-1];
}
tvOutput.setText(Arrays.toString(feld));