Java变量未初始化错误

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

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

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

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

在使用它之前初始化你的局部变量,就像在上面的情况下它必须是String nam =“”或者也可以是null; int r = 0;

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

谢谢,Brijesh

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