题目如下:
代码如下:
package FingerGame;
import java.util.Scanner;
public class FingerGame {//父类
private int finger;
FingerGame() {
super();
}
int getFinger() {
return finger;
}
void setFinger(int finger) {
this.finger = finger;
}
}
class Computer extends FingerGame{//继承父类
public Computer() {
super();
}
void random() {//电脑随机出拳并输出
super.setFinger((int)(Math.random()*2+1));
if(getFinger()==1)
System.out.println("电脑选择了:剪刀");
if(getFinger()==2)
System.out.println("电脑选择了:石头");
if(getFinger()==3)
System.out.println("电脑选择了:布");
}
}
//人类
class Man extends Computer{
private int fingerm;
Man() {
super();
}
int getFingerm() {
return fingerm;
}
void setFingerm(int fingerm) {
this.fingerm = fingerm;
}
void input() {//人类选择出拳并输出
System.out.println("输入你要出的拳");
System.out.println("1:剪刀 2:石头 3:布");
Scanner sc=new Scanner(System.in);
fingerm=sc.nextInt();
if(fingerm==1)
System.out.println("你选择了:剪刀");
if(fingerm==2)
System.out.println("你选择了:石头");
if(fingerm==3)
System.out.println("你选择了:布");
}
}
class Play extends Man{
private int socrec;//电脑得分
private int socrem;//人类得分
private int count;//平局
Play() {
super();
}
void play() {
for(int i=1;i<=100;i++) { //游戏循环100次,直到决出胜负
System.out.println("=================================");
System.out.println("当前是第"+i+"回合");
super.input(); //调用人类方法
super.random(); //调用电脑方法
if(super.getFinger()==1&super.getFingerm()==3||
super.getFinger()==2&super.getFingerm()==1||
super.getFinger()==3&super.getFingerm()==2) {
socrec++; //电脑赢加一分
System.out.println("你输了!当前比分:"+socrec+"比"+socrem);
} else if(super.getFingerm()==1&super.getFinger()==3||
super.getFingerm()==2&super.getFinger()==1||
super.getFingerm()==3&super.getFinger()==2) {
socrem++; //人类赢加一分
System.out.println("你赢了!当前比分:"+socrec+"比"+socrem);
}else if(super.getFingerm()==super.getFinger()) {//平局
count++;
System.out.println("平局!当前比分:"+socrec+"比"+socrem);
}
if(socrec>=3) { //电脑胜利
System.out.println("最终电脑获得了胜利,比分为:"+socrec+"比"+socrem);
System.out.println("平局:"+count+"次");
return;
}
if(socrem>=3) { //人胜利
System.out.println("最终你获得了胜利,比分为:"+socrec+"比"+socrem);
System.out.println("平局:"+count+"次");
return;
}
System.out.println("第"+i+"回合结束了");
}
}
}
//测试类
public class TextFingerGame {
public static void main(String[] args) {
Play a=new Play();
a.play();
}
}
=======================================================================
运行效果:
如果错误,欢迎批评指正!