我有这段代码:
import java.util.Scanner;
public class lectureArray {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter a number: ");
int n = sc.nextInt();
int [] arr = new int[n];
for(int i = 0; i < n; i++)
arr[i] = sc.nextInt();
for(int i = n-1; i >= 0; i--);
System.out.println(arr[i] ) ;
}
}
我有这个错误:&#34;我无法解决变量&#34; 。 无论我多么努力摆脱它,它只是犯了更多的错误或者没有在第一时间解决错误
答案 0 :(得分:0)
从for循环中删除分号。变化
for(int i = n-1; i >= 0; i--);
到
for(int i = n-1; i >= 0; i--)
答案 1 :(得分:0)
从代码的倒数第二行删除分号,如下所示
for(int i = n-1; i >= 0; i--); <---- This is causing you problem
System.out.println(arr[i] ) ;
到
for(int i = n-1; i >= 0; i--)
System.out.println(arr[i] ) ;
答案 2 :(得分:0)
当您不遵循编码标准时,这些类型的问题非常常见。确保正确格式化代码。使用for
,while
,if
等而不使用大括号({})会导致这些类型几乎无法察觉的错误。
for(int i = n-1; i >= 0; i--); // **;** ends the scope of your loop
System.out.println(arr[i] ) ; // so **i** is not visible here.
这是正确的格式。
for(int i = n-1; i >= 0; i--){
System.out.println(arr[i] ) ;
}
不要犹豫,因为它需要额外的一行。但是在调试甚至阅读代码时会节省大量时间。
答案 3 :(得分:0)
我认为通过从代码的倒数第二行中删除分号(;)就足以摆脱这个问题了。