for(int i=0; i < n; i++){
arr[i] = in.nextInt();
}
in.close();
for( i=n-1;i>=0;i--){
System.out.print(arr[i]+" ");
}
这显示我未初始化的错误。
for(int i=0; i < n; i++){
arr[i] = in.nextInt();
}
in.close();
for(int i=n-1;i>=0;i--){
System.out.print(arr[i]+" ");
}
这很有效。任何人都可以解释原因吗?
答案 0 :(得分:0)
i
(在第一个示例中)的范围仅是第一个for
循环。在第一个循环之前声明i
,你可以(你似乎想要)
int i;
for(i=0; i < n; i++){
arr[i] = in.nextInt();
}
in.close();
for(i=n-1;i>=0;i--){
System.out.print(arr[i]+" ");
}
,我更愿意使用try-with-resources
(而不是在那里嵌入in.close()
。
答案 1 :(得分:0)
在java中有一个块级范围的概念,意味着我只限于它的for循环。所以下次你必须在使用之前初始化它,或者你可以在类级别初始化它以允许它被使用尽你所能。