0

我的 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();
    }
4

3 回答 3

2

Local variables不要得到默认值,你应该在使用它们之前初始化它们,初始化namr在你的 main 中使用默认值,你会没事的。

public static void main(String args[]) throws IOException{
String nam=null;
int r=0;

顺便说一句,考虑为你的类和变量命名一些有意义的东西。

于 2013-01-23T16:32:55.477 回答
0

在使用它之前初始化你的局部变量,就像上面的例子一样,它必须是 String nam = "" 或者它也可以是 null;诠释 r = 0;

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

谢谢,布里杰什

于 2013-01-23T16:38:38.063 回答
0

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

于 2015-05-12T11:58:57.357 回答