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

上传人:tia****g98 文档编号:143893929 上传时间:2022-08-26 格式:DOC 页数:5 大小:24.01KB
收藏 版权申诉 举报 下载
猜数字游戏的两个Java程序代码_第1页
第1页 / 共5页
猜数字游戏的两个Java程序代码_第2页
第2页 / 共5页
猜数字游戏的两个Java程序代码_第3页
第3页 / 共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.ex

13、it(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+) str += putIni; str += + right; return str; public static void PrintHistory(String history) for(int i=0; ihistory.length; i+) if(.compareTo(history0)=0) System.out.println(还没有输入内容); continue; if(.compareTo(historyi)=0) continue; System.out.println(historyi);

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!