猜数字游戏的两个Java程序代码
1、比较简单
import java.util.Scanner;
import java.lang.Math;
public class Cai {
/**
* 生成100内的随即数然后 提示用户输入
* 用户输入数据猜
*提示用户 猜大了还是猜 小了
*/
public static void main(String[] args) {
while(true){
System.out.println("欢迎你试玩猜数字游戏:");
System.out.println("请按 1开始 2退出");
Scanner s = new Scanner(System.in);
int ch=0;
ch = s.nextInt();
if(ch==1){
System.out.println("---------------------");
Scanner ca = new Scanner(System.in);
int max =0;
int j=0;
int i=0;
max= (int)(Math.random()*100);
do{
System.out.println("请您输入数字:");
j = ca.nextInt();
if(j<max){
System.out.println("太小哦");
}
if(j>max){
System.out.println("太大哦");
}
if(j==max){
break;
}
i++;
}while(i<10);
switch(i){
case 1: System.out.println("您猜对了,您获得100分"); break;
case 2: System.out.println("您猜对了,您获得90分"); break;
case 3: System.out.println("您猜对了,您获得80分"); break;
case 4: System.out.println("您猜对了,您获得70分"); break;
case 5: System.out.println("您猜对了,您获得60分"); break;
case 6: System.out.println("您猜对了,您获得50分"); break;
case 7: System.out.println("您猜对了,您获得40分"); break;
case 8: System.out.println("您猜对了,您获得30分"); break;
case 9: System.out.println("您猜对了,您获得20分"); break;
case 10: System.out.println("您猜对了,您获得10分"); break;
default :System.out.println("对不起你没猜对"); break;
}
}else if(ch==2) { break;}
}
System.out.println("谢谢您的使用");
}
}
2、比较复杂的
import java.util.Random;
import java.util.Scanner;
public class Guess {
public static void main(String[] args) {
//产生随机数
int[] guess = MakeGuessNumber();
System.out.print("系统产生的随机数为:");
for(int i=0; i<4; i++){
System.out.print(guess[i]);
}System.out.println();
int[] putIn ;//定义用户输入
String right = ""; //临时保存比较的结果
String[] history = new String[]{"","","","","","","","","",""};
for(int i=0; i<10; i++){
putIn = PutIn(history); //获取用户输入
right = CompareNumber(guess, putIn); //比较输入结果
history[i] = RemarkHistory(putIn, right); //作历史记录,以便随时查看
if(rightpareTo("4A")==0){
System.out.println("恭喜您,猜中了!!!");
PrintMenu();
menu(history);
}
}
System.out.println("您已经猜了10次,本次游戏结束");
PrintMenu();
menu(history);
}
//自动产生四个0~9的数字作为随机数,这个四位数相互之间不能相同。
public static int[] MakeGuessNumber(){
Random r = new Random();
int[] guess = new int[4];
for(int i=0; i<4; i++){
guess[i] = r.nextInt(10);
for(int j=i-1; j>=0; j--){
if(guess[i]==guess[j]){i--;break;}
}
}
return guess;
}
//使用者输入猜的四个数字(这四个数字之间也不能相同, 如果有相同的则提示使用者,并让它重新输入)
public static int[] PutIn(String[] history){
int[] number = new int[4];
int putIn = 0;
Scanner sc = new Scanner(System.in);
System.out.println("请输入您猜想的4位数字");
PrintMenu();
out1: while(true){
//如果输入英文、符号、小数等则提示并要求重新输入
try {
putIn = sc.nextInt();
} catch (Exception e) {
String str = sc.next();
if("Y"pareTo(str)==0 || "y"pareTo(str)==0) {main(null);}
if("N"pareTo(str)==0 || "n"pareTo(str)==0) {it(0);}
if("H"pareTo(str)==0 || "h"pareTo(str)==0) {PrintHistory(history);}
System.out.println("请输入正整数。");
continue;
}
//如果输入的不是4位数,提示并要求重新输入
简单的java游戏代码 if(putIn>9999 || putIn<100){
System.out.println("请输入一个4位数");
continue;
}
//把输入的一个4位数字变成数组
number[0] = putIn/1000;
number[1] = putIn%1000/100;
number[2] = putIn%100/10;
number[3] = putIn%10;
//如果有相同的数字,提示并要求重新输入
for(int i=0; i<4; i++){
for(int j=i-1; j>=0; j--){
if(number[i]==number[j]){
System.out.println("请输入4位不相同的数字");
continue out1;
}
}
}
//输入没错时,退出此死循环,继续其它操作
break;
}
return number;
}
//比较输入的与系统产生的,返回结果: xA yB
public static String CompareNumber(int[] guess, int[] putIn){
int rightA = 0; //比较结果有多少个"A"
int rightB = 0; //比较结果有多少个"B"
String right = ""; //以字符串形式保存的比较结果
//计算出多少个"A"
for(int i=0; i<4; i++){
if(guess[i]==putIn[i]) rightA++;
}
//计算出多少个"B"
for(int i=0; i<4; i++){
for(int j=0; j<4; j++){
if(guess[j]==putIn[i]) rightB++;
}
}
rightB -= rightA;//前面的循环会连"A"的也算上,所以需减去
if(rightA != 0) right += rightA + "A";
if(rightB != 0) right += rightB + "B";
if(rightA==0 && rightB==0) right = "0A0B";
System.out.println(right);
return right;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论