日期:2014-05-20  浏览次数:20851 次

JAVA人机猜拳中遇到Exception in thread "main" java.lang.NullPointerException
我自己做得人机猜拳。
以下是我编写的几个类,分别是RJCQ1,RJCQ2 ,RJCQ4,RJCQTest
但是每当我运行RJCQTest这个类的时候,eclipse就会报错
Exception in thread "main" java.lang.NullPointerException
at Bd课后习题.RJCQ4.start2(RJCQ4.java:50)
at Bd课后习题.RJCQTest.main(RJCQTest.java:13)
以下是我的代码,求教大神们帮忙给看看这个错误该怎么解决,最好解释的详细点谢谢了
import java.util.Scanner;
public class RJCQ1 {
    //定义一个玩家类
//玩家积分跟姓名为属性
String admin;
int score;
String a="剪刀";
String b="石头";
String c="布";
//定义玩家类的方法
public int player(){
Scanner in=new Scanner(System.in);
System.out.print("请出拳:1.剪刀2.石头3.布(输入相应的数字)");
int number=in.nextInt();
String d="";
switch(number){
case 1:
d=a;
break;
case 2:
d=b;
break;
case 3:
d=c;
break;
}
System.out.print("你出拳:"+d);
return number;
}
}
import java.util.Scanner;
public class RJCQ2 {
//定义UI类
//UI积分跟姓名为属性
String name;
int score;
String a="剪刀";
String b="石头";
String c="布";
//UI类的方法
//(int)(Math.random()*3)
public int ui(){
int ui=(int)(Math.random()*3);
String d="";
switch(ui){
case 1:
d=a;
break;
case 2:
d=b;
break;
case 0:
d=c;
break;
}
System.out.print("电脑出拳:"+d);
return ui;
}
}
import java.util.Scanner;
public class RJCQ4 {
//定义游戏引擎类
//定义游戏引擎属性
RJCQ1 V;//玩家
RJCQ2 S;//电脑
int count;//对战次数
String a="刘备";
String b="孙权";
String c="曹操";
//定义游戏引擎方法
Scanner in=new Scanner(System.in);
public void show(){ 
System.out.print("--------------------欢  迎  进  入  游  戏  世  界--------------------------\n\n");
System.out.print("                                     ****************   \n");
System.out.print("                                     **猜拳       开始**    \n");
System.out.print("                                     ****************\n\n");
System.out.println("出拳规则:1.剪刀2.石头3.布");
System.out.print("请选择对方角色:(1.刘备2.孙权3.曹操)");
}
public void ready(){
V=new RJCQ1();
S=new RJCQ2();
count=0;
}
public int start1(){
int number=in.nextInt();
String d="";
switch(number){
case 1:
d=a;
break;
case 2:
d=b;
break;
case 3:
d=c;
break;
}
System.out.println("你选择了"+d+"对战");
return number;
}
public void start2(){
System.out.print("要开始吗?(y/n)\n");
String start=in.next();
int player;
int ui;
if(start.equals("y")){
player=V.player();
ui=S.ui();