无法计算如何解析变量

时间:2015-03-31 11:52:17

标签: java

我有这段代码:

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; 。 无论我多么努力摆脱它,它只是犯了更多的错误或者没有在第一时间解决错误

4 个答案:

答案 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)

当您不遵循编码标准时,这些类型的问题非常常见。确保正确格式化代码。使用forwhileif等而不使用大括号({})会导致这些类型几乎无法察觉的错误。

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)

我认为通过从代码的倒数第二行中删除分号(;)就足以摆脱这个问题了。