Java声明/变量范围问题

Java声明/变量范围问题,java,Java,我对java还比较陌生,在进行了大量搜索之后,我无法将任何相关问题的解决方案与我的匹配起来。我试图实现一个非常简单的方法来对数组进行写/读操作,但编译器无法识别它。“键盘”也是一个“无法识别的变量”。这里是数组的声明,方法在更下面一点就可以了。。。(第一次很长时间顺便说一句:)非常感谢提前 private static void loadMakeModelYear() import java.util.Scanner; String [][] makeModelYear = {{"Make",

我对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();
    }
}
private静态void loadMakeModelYear()
导入java.util.Scanner;
字符串[][]makeModelYear={{“Make”,“Model”,“Year”},{“Blank”,“Blank”,“Blank”};
私有静态void loadMakeModelYear()
{
对于(int i=0;i<3;i++)
{
System.out.println(“请输入“+makeModelYear[i][0]);
makeModelYear[i][1]=keyboard.nextLine();
}
}

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

我只是重写了您的示例,因为它可以更好地解释这里的情况

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();
        }
    }
}
import java.util.Scanner;
上课
公共静态void main(字符串…参数){
loadMakeModelyear();
}
静态字符串[][]makeModelYear=新字符串[][]{
{“制造”、“型号”、“年份”},
{“空白”、“空白”、“空白”}
};
私有静态void loadMakeModelYear(){
扫描仪键盘=新扫描仪(System.in);
对于(int i=0;i<3;i++){
System.out.println(“请输入“+makeModelYear[0][i]);
makeModelYear[1][i]=keyboard.nextLine();
}
}
}

Java的资源比C的资源多得多。一个经常非常有用(至少对我来说)的站点是(查看Java索引)。

您使用什么IDE来实现这一点?NetBeans在提供大多数VS2010功能方面做得不错

我看不到键盘被声明。你在别处申报吗


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

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

1.)首先,import语句应该是文件中的第一条语句。导入之前唯一可以出现的语句是package语句

  • 但是你犯的一个明显的错误是声明了这样的方法。在java中,任何方法的作用域都绑定到一个类。这不是声明式编程,您可以声明一个独立的方法。同样的参数也适用于数组,这个数组和方法必须是某个类的一部分,即使它们是静态的
3.)其次,您使用的是可变键盘,但您没有在任何地方声明它

我希望你意识到你只是使用了错误的范例。跟我说,“Java纯粹是面向对象的”

问候
我想我明白你的问题了。这只是一个猜测,我不确定你是否已经这么做了。如果没有,您可能需要将参考变量
keyboard
设置为Scanner类。这可以通过以下方式实现:

Scanner keyboard = new Scanner(System.in);

您的
键盘
变量是否在任何地方声明?导入语句应位于文件的开头。您不能在方法中包含“import java.util.Scanner”,请粘贴整个类,以便我们可以正确地查看它。谢谢@Suresh它不在方法内部,他在使用方法之前声明了方法,Java中没有人这样做。但是是的,它们应该总是在顶部。我很确定这不会编译。。。这看起来就像你有一个C背景(?)我选择简洁是为了所有慷慨的帮助。下次我会把整节课发出去。已声明键盘变量。Import语句位于文件的开头。再次感谢…是的,伙计们,我还没有发布整个班级档案。我从没想过它会像我发布的那样编译。。。我在这里提交了我认为“令人不快”的句子。@Yanick:C#,这就是为什么这么令人沮丧的原因!lol我习惯于VS2010中更健壮的调试环境。@用户我个人认为Eclipse中的调试环境非常健壮。@Vaid:您好,是的,我们讨论了我是如何发布一个非常精简的代码版本的,谢谢您的反馈。我不使用IDE本身。文本板。数据结构类:)我想我的奋斗就是这个想法的一部分。我看过NetBeans。这正是我在有限的经验中评论健壮环境时真正指的……我对Visual Studio没有太多经验,但据我所知,在VS中,我需要编译以查看/清除错误。而在Netbeans/Eclipse中,这是“实时”完成的。我不是在说两个JavaIDE的neet插件来帮助调试/测试等(即代码覆盖率)。谢谢。再一次,很抱歉我没有发布我的整个类,但是它看起来和你的完全一样,有一些额外的变量,还有另一个方法,等等。我得到了你得到的。谢谢你的提议,我现在正在看那个网站…等等,我上次的回复太快了。。。现在应用一些更改。。。再次感谢。。。