String name; public void showName(){
con=false;
do{
System.out.print("请选择角色(1:老闪\t2:老蓝\t3:老3)");
Scanner input=new Scanner(System.in);
int num1=input.nextInt();
System.out.print(name);
switch (num1){
case 1:
name="刘备";
break;
case 2:
name="孙权";
break;
case 3:
name="曹操";
break;
default:
System.out.print("输入错误");
con=false;
break;
}
}while(con==true);
}
}
----------------------------------------------------------------
我调用这个方法的时候name会变成null 是哪里错了呢
con=false;
do{
System.out.print("请选择角色(1:老闪\t2:老蓝\t3:老3)");
Scanner input=new Scanner(System.in);
int num1=input.nextInt();
System.out.print(name);
switch (num1){
case 1:
name="刘备";
break;
case 2:
name="孙权";
break;
case 3:
name="曹操";
break;
default:
System.out.print("输入错误");
con=false;
break;
}
}while(con==true);
}
}
----------------------------------------------------------------
我调用这个方法的时候name会变成null 是哪里错了呢
{
String name; public void showName()
{ boolean con = false;
do
{
System.out.print("请选择角色(1:老闪\t2:老蓝\t3:老3)");
Scanner input = new Scanner(System.in);
int num1 = input.nextInt();
switch (num1)
{
case 1:
name = "刘备";
break;
case 2:
name = "孙权";
break;
case 3:
name = "曹操";
break;
default:
System.out.print("输入错误");
con = false;
break;
}
System.out.print(name);
} while (con == true);
} public static void main(String[] args)
{
Test t = new Test();
t.showName();
}
}运行结果:
请选择角色(1:老闪 2:老蓝 3:老3)1
刘备name这个变量没有初始化,System.out.print("请选择角色(1:老闪\t2:老蓝\t3:老3)");
Scanner input=new Scanner(System.in);
int num1=input.nextInt();
System.out.print(name);
switch (num1){
这样放的话,初始化类是String类型的对象默认是赋值是null