程序运行良好。但是,如果 fn3 未初始化并且我尝试在循环外访问 fn3,编译器会抛出“变量 fn3 可能尚未初始化”。为什么要声明并初始化fn3?
import java.util.Scanner;
class GenerateFibonacci {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("Enter the limit of Fibonacci series: ");
int limit = scan.nextInt();
System.out.println("The first " + limit + "Fibonacci numbers are : ");
int fn2=0, fn1=1, fn3=0;
for(int i=0; i<=limit;i++) {
if(i <= 1) {
fn3 = i;
}
else {
fn3 = fn2+fn1;
fn2 = fn1;
fn1 = fn3;
}
System.out.println(fn3 + "\t");
}
System.out.println("The average is " + fn3/limit);
}
}
最佳答案
局部变量在使用前必须初始化。它们没有默认值,并且在初始化之前包含垃圾数据。鉴于,
实例和类变量不需要您初始化它们。一旦声明这些变量,它们就会被赋予默认值。
关于java - 为什么需要先初始化 fn3(变量),然后才能在循环外使用 fn3?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51123463/