一个用java写的小游戏高手,看看有什么问题。

没有大问题,就是定义num = 0;且win = 0;我忘记添加号码类型了。给它们都加一个int就行了。看看现在。它已经在运行了。你以后要注意了。

导入javax . swing . joptionpane;

/**

* @(#)VDZ.java

*

*

* @作者

* @版本1.00 2008/7/19

*/

公共类VDZ {

公共静态void main (String[] args) {

字节user input = 0;

字节系统输入= 0;

布尔标志=假;

int num = 0;//这里忘记写num的类型了。

int win = 0;//同上,加int。

Do{ //这是一个循环游戏。

num++;//打一次Nnum加一个。

string user temp = joptionpane . showinputdialog(" shuru ... ");//提示输入号码

userInput =新字节(userTemp)。byte value();//将输入的数字(原来是字符串)转换成字节类型。

//如果输入的数字是1,2,3,则分别输出以下语言,其余输出为“你错了!”

开关(用户输入){

案例0:system . out . println(" you:shitou ");打破;

案例1: System.out.println("你:剑道");打破;

案例二:system . out . println(" you:bu ");打破;

default: System.out.println("你错了!");

}

system input =(byte)(math . random()* 3);//systeminput是一个随机数,只能是0,1,2。

Switch(systeminput){ //判断这个数字是什么,分别输出每种语言。

案例0:system . out . println(" system input:shitou ");打破;

案例1:system . out . println(" system input:Jian Dao ");打破;

案例二:system . out . println(" system input:bu ");打破;

}

If(userInput == systeminput){ //如果用户输入的数与系统随机生成的数相同,则为偶数。

System.out.println("大平");

flag = true//我在这里加的。抽签后我可以再玩。

}else if( //如果这两个数字发生下列情况之一,那么用户获胜。

(用户输入= = 0 & amp& ampsysteminput == 1)||

(用户输入= = 1 & amp;& ampsysteminput == 2)||

(用户输入= = 2 & amp& ampsysteminput == 0))

{

System.out.println("你赢了");win++;//胜利数加1

flag = true//这里我补充一下。如果你赢了,你可以再玩一次。

}

Else{ //如果不相等,不满足中奖条件,则为亏损。

System.out.println("你输了");

flag = false//这里我补充一下。如果你输了,你退出游戏。

}

} while(flag);//注意你之前没有换过标志,所以标志总是假的,所以你一次只会打一次。

//为了改变你可以玩的次数,我改成了如果你抽到了,用户赢了,就提供一次重新玩的机会。如果你输了,你退出游戏。

System.out.println("你赢了:"+赢了);

System.out.println("你玩:"+num);

}

}

运行结果,输入的数字是:1,2,1,0,1(注意这个结果是随机的),每次玩的结果都不一样。

你:剑道

系统输入:剪刀

大平

你:卜

系统输入:石头

你赢了

你:剑道

系统输入:bu

你赢了

你:石头

系统输入:石头

大平

你:剑道

系统输入:石头

你输了

你赢了:2

你玩:5