Java变量未初始化错误

时间:2013-01-23 16:31:20

标签: java variables object compiler-errors bufferedreader

我的Java程序中出现以下错误:

  

Java变量未初始化错误...错误:变量nam和r没有   初始化的位置类子

但是nanr已初始化,但我仍然遇到同样的错误。

public class cla {
    int rn;
    String name;

    void get(String a, int x) {
        name = a;
        rn = x;
    }

    void display() {
        System.out.println("student name: " + name + "roll no.:" + rn);
    }
}

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class child {
    public static void main(String args[]) throws IOException {
        String nam;
        int r;
        BufferedReader bReader = new BufferedReader(new InputStreamReader(
            System.in));
        try {
            System.out.println("enter name and roll no.");
            nam = bReader.readLine();
            r = Integer.parseInt(bReader.readLine());

        } catch (Exception e) {
        }
        cla c = new cla();
        c.get(nam, r);
        c.display();
    }

3 个答案:

答案 0 :(得分:2)

Local variables未获得默认值,您应该在使用它们之前初始化它们,使用默认值初始化namr你会好起来的。

public static void main(String args[]) throws IOException{
String nam=null;
int r=0;
顺便说一下,考虑将你的类和变量命名为有意义的东西。

答案 1 :(得分:0)

在使用之前初始化您的局部变量,就像上面的情况一样 String nam =“”或者也可以为null; int r = 0;

当我们在类中定义任何实例变量时,它们是默认初始化的,例如。 int为0但是在使用之前需要初始化局部变量。

谢谢, Brijesh

答案 2 :(得分:0)

根据您使用的数据类型,最好为变量赋值null或零。如果你查看你的代码,你会看到你没有告诉变量它们的值,例如你有一个变量r;相反,在你开始使用它之前,让你的整数知道它内部没有任何东西,就像这个int r = 0;一样。这样你的java程序就会知道它在你使用那个变量时会覆盖现有的值。告诉你变量他们持有什么是java调用初始化。把它带到日常活动中,并在编码时看到它。