猜数字游戏的两个Java程序代码

上传人:M****1 文档编号:475162938 上传时间:2023-01-25 格式:DOC 页数:5 大小:24.01KB
返回 下载 相关 举报
猜数字游戏的两个Java程序代码_第1页
第1页 / 共5页
猜数字游戏的两个Java程序代码_第2页
第2页 / 共5页
猜数字游戏的两个Java程序代码_第3页
第3页 / 共5页
猜数字游戏的两个Java程序代码_第4页
第4页 / 共5页
猜数字游戏的两个Java程序代码_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《猜数字游戏的两个Java程序代码》由会员分享,可在线阅读,更多相关《猜数字游戏的两个Java程序代码(5页珍藏版)》请在金锄头文库上搜索。

1、猜数字游戏的两个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;

2、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(jmax) System.out.println(太大哦); if(j=max) break; i+; while(i10); switch(i) case 1: System.out.printl

3、n(您猜对了,您获得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(您猜对了,您获得4

4、0分); 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.S

5、canner;public class Guess public static void main(String args) /产生随机数 int guess = MakeGuessNumber(); System.out.print(系统产生的随机数为:); for(int i=0; i4; i+) System.out.print(guessi); System.out.println(); int putIn ;/定义用户输入 String right = ; /临时保存比较的结果 String history = new String,; for(int i=0; i10; i+) p

6、utIn = PutIn(history); /获取用户输入 right = CompareNumber(guess, putIn); /比较输入结果 historyi = RemarkHistory(putIn, right); /作历史记录,以便随时查看 if(pareTo(4A)=0) System.out.println(恭喜您,猜中了!); PrintMenu(); menu(history); System.out.println(您已经猜了10次,本次游戏结束); PrintMenu(); menu(history); /自动产生四个09的数字作为随机数,这个四位数相互之间不能相

7、同。 public static int MakeGuessNumber() Random r = new Random(); int guess = new int4; for(int i=0; i=0; j-) if(guessi=guessj)i-;break; return guess; /使用者输入猜的四个数字(这四个数字之间也不能相同, 如果有相同的则提示使用者,并让它重新输入) public static int PutIn(String history) int number = new int4; int putIn = 0; Scanner sc = new Scanner

8、(System.in); System.out.println(请输入您猜想的4位数字); PrintMenu(); out1: while(true) /如果输入英文、符号、小数等则提示并要求重新输入 try putIn = sc.nextInt(); catch (Exception e) String str = sc.next(); if(Y.compareTo(str)=0 | pareTo(str)=0) main(null); if(N.compareTo(str)=0 | pareTo(str)=0) System.exit(0); if(H.compareTo(str)=0

9、| pareTo(str)=0) PrintHistory(history); System.out.println(请输入正整数。); continue; /如果输入的不是4位数,提示并要求重新输入 if(putIn9999 | putIn100) System.out.println(请输入一个4位数); continue; /把输入的一个4位数字变成数组 number0 = putIn/1000; number1 = putIn%1000/100; number2 = putIn%100/10; number3 = putIn%10; /如果有相同的数字,提示并要求重新输入 for(in

10、t i=0; i=0; j-) if(numberi=numberj) 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 = ; /以字符串形式保存的比较结果 /计算出多

11、少个A for(int i=0; i4; i+) if(guessi=putIni) rightA+; /计算出多少个B for(int i=0; i4; i+) for(int j=0; j4; j+) if(guessj=putIni) 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(ri

12、ght); return right; public static void PrintMenu() System.out.println(输入Y重新开始游戏;输入N结束游戏;输入H查看历史记录); public static void menu(String history) Scanner sc = new Scanner(System.in); String str = sc.next(); if(Y.compareTo(str)=0 | pareTo(str)=0) main(null); if(N.compareTo(str)=0 | pareTo(str)=0) System.exit(0); if(H.compareTo(str)=0 | pareTo(str)=0) PrintHistory(history); public static String RemarkHistory(int putIn, String right) String str = ; for(int i=0; i4; i+) s

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 机械/制造/汽车 > 汽车技术

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号