Java声明/变量范围问题

时间:2011-03-23 03:33:06

标签: java

我对java比较陌生,经过多次搜索,我无法将相关问题的任何解决方案配对到我的。我正在尝试实现一个非常简单的方法来写入/读取数组,并且它不被编译器识别。 “键盘”也是“未被识别的变量”。这是一个数组的声明,方法稍微深入下去就可以了......(第一次很长时间顺便说一下:)非常感谢提前......

private static void loadMakeModelYear()
import java.util.Scanner;

String [][] makeModelYear = {{"Make", "Model", "Year"},{"Blank", "Blank", "Blank"}};

private static void loadMakeModelYear()
{
    for (int i = 0; i < 3; i++)
    {
        System.out.println("Please enter a " + makeModelYear[i][0]);
        makeModelYear [i][1] = keyboard.nextLine();
    }
}

5 个答案:

答案 0 :(得分:1)

这只是一个猜测,但您的代码似乎使用keyboard小写k,而您的错误消息使用大写字母K的Keyboard。检查变量的大小写。

答案 1 :(得分:0)

我在重写你的例子,因为它可以在这里更好地解释。

import java.util.Scanner;

class SomeClass

    public static void main(String...args) {
        loadMakeModelyear();
    }

    static String[][] makeModelYear = new String[][] {
        {"Make", "Model", "Year"},
        {"Blank", "Blank", "Blank"}
    };

    private static void loadMakeModelYear() {
        Scanner keyboard = new Scanner(System.in);
        for (int i = 0; i < 3; i++) {
            System.out.println("Please enter a " + makeModelYear[0][i]);
            makeModelYear [1][i] = keyboard.nextLine();
        }
    }
}

Java的资源比C#多得多。一个通常非常有用的网站(至少对我来说)是Real's howto(查看Java索引)。

答案 2 :(得分:0)

你使用什么IDE? NetBeans在提供大多数VS2010功能方面做得不错。

我没有看到声明的键盘。你在其他地方宣布吗?

“keyboard”不是Java中的特殊对象,如果有帮助,您可以访问现实生活中的键盘。

答案 3 :(得分:0)

我的我的亲爱的,亲爱的,你对Java语言的运作方式感到非常困惑。让我们更仔细地看看你的代码。

1。)首先,import语句应该是文件中的第一个语句。导入之前唯一的语句是package语句。

  • 但你正在做的明显错误是通过声明这样的方法。在java中,任何方法的范围都绑定到一个类。这不是声明式样式编程,您可以在其中声明独立方法。同样的参数也适用于您的数组,此数组和方法必须是某个类的一部分,即使它们是静态的。

3.)其次,您使用的是可变键盘,但您尚未在任何地方声明它。

我希望你意识到你只是在使用错误的范例。在我之后这样说,“Java纯粹是OO”

此致 AViD

答案 4 :(得分:0)

我想我看到了你的问题。这只是一个猜测,我不确定你是否已经这样做了。如果您还没有,可能需要将引用变量keyboard设置为Scanner类。这可以通过以下方式完成:

Scanner keyboard = new Scanner(System.in);