public class Computer {
String quan1;
private int random = (int)(Math.random()*3);//电脑出拳
public void qu() {
switch(random) {
case 0:
quan1 = "剪刀";
break;
case 1:
quan1 = "石头";
break;
case 2:
quan1 = "布";
break;
default:
quan1 = "剪刀";
break;
}//电脑出拳
System.out.println("电脑出拳:"+quan1);
}
}
import java.util.*;
public class Person {
private String name;//用户名字
private int score;//用户积分
String quan;//用户出拳

Scanner input = new Scanner(System.in);

public void showFist() {

}//
public void input() {
System.out.print("请出拳:1.剪刀 2.石头 3.布(输入相应的数字)");
int num = input.nextInt();
switch(num) {
case 1:
quan = "剪刀";
break;
case 2:
quan = "石头";
break;
case 3:
quan = "布";
break;
default:
quan = "剪刀";
break;
}//用户出拳
System.out.println("你出拳:"+quan);
}
}
import java.util.*;public class Game {
private Person person;// 玩家
private Computer computer;// 电脑
private int count;// 对战次数
private String juese;//选择角色
private String kaishi;//y开始

Scanner input = new Scanner(System.in); public void initial() {
} public void starGame() {
System.out.println("----------欢迎进入游戏世界------------\n\n");
System.out.println("\t\t***************");
System.out.println("\t\t**  猜拳*开始  **");
System.out.println("\t\t***************\n\n");
cq();//调用角色选择
}// 开始界面 public void cq() {
System.out.println("出拳规则:1.剪刀 2.石头 3.布");
System.out.print("请选择对方角色(1:刘备 2:孙权 3.曹操)");
int xz = input.nextInt();
switch (xz) {
case 1:
juese = "刘备";
break;
case 2:
juese = "孙权";
break;
case 3:
juese = "曹操";
break;
default:
juese = "剪刀";
break;
}
System.out.println("您选择了:" + juese);
}//角色选择
public void panduan() {
if(person.quan.equals("剪刀")&& computer.quan1.equals("剪刀")||
person.quan.equals("石头")&& computer.quan1.equals("石头")||
person.quan.equals("布")&& computer.quan1.equals("布")){
System.out.println("结果:和局,真衰\n");
//平局
}else if(person.quan.equals("剪刀")&& computer.quan1.equals("布")||
person.quan.equals("石头")&& computer.quan1.equals("剪刀")||
person.quan.equals("布")&& computer.quan1.equals("石头")){
System.out.println("结果:恭喜,你赢了!");
//玩家赢
}else{
System.out.println("结果:你输了!!!真笨\n");
//电脑赢
} }
public void starGame1() {
starGame();//调用开始
System.out.println("要开始吗?(y/n)");
kaishi = input.next();
if(kaishi.equals("y")){
person.input();//调用用户出拳
computer.qu();//调用电脑出拳
panduan();//调用判断
}else{
System.out.println("游戏结束");
return;
}
}//游戏开始
}public class Test { public static void main(String[] args) {
Game g = new Game();
g.starGame1();
}}
importclassrandomstringinput

解决方案 »

  1.   

    public void starGame1() {
    starGame();//调用开始
    System.out.println("要开始吗?(y/n)");
    kaishi = input.next();
    if(kaishi.equals("y")){
    person.input();//调用用户出拳
    computer.qu();//调用电脑出拳
    panduan();//调用判断
    }else{
    System.out.println("游戏结束");
    return;
    }
    }//游戏开始
    这段代码的person的值为空····求解
      

  2.   

    public void starGame1() {
    starGame();//调用开始
    System.out.println("要开始吗?(y/n)");
    kaishi = input.next();
    if(kaishi.equals("y")){
    person.input();//调用用户出拳
    computer.qu();//调用电脑出拳
    panduan();//调用判断
    }else{
    System.out.println("游戏结束");
    return;
    }
    }//游戏开始
    这段代码的person的值为空····