两期辜负好友望甲乙两人玩猜数字游戏几

Java咖啡馆(6)――编写猜数字游戏
作者:Gary Chan
责任编辑:xietaoming&
1  第一篇:  第二篇:  第三篇:  第四篇:  第五篇:  上一回我们讲解了Java语言基础,篇幅所限,仅仅包含相当有限的Java语法知识。本期我们将在上回基础上编写一个猜数字的游戏,进一步学习Java语言基础知识。猜数字游戏  你肯定玩过猜数字游戏―游戏随机给出一个0至99(包括0和99)之间的数字,然后让你猜是什么数字。你可以随便猜一个数字,游戏会提示太大还是太小,从而缩小结果范围。经过几次猜测与提示后,最终推出答案(我们提供了完整代码,)。(见图1)游戏设计  首先搭建Java程序框架。打开Eclipse,新建名为GuessNumberGame的项目,然后新建名为GuessNumber的Java类。别忘记给GuessNumber加上合适的javadoc。  第一步:随机数的产生  我们可以借助Java API提供的Random类来产生一个随机数。  首先在main函数中加入以下三行代码:// 新建一个随机数产生器,然后生成一个0到99之间的整数。Random random = new Random();int number = random.nextInt(100);  不出所料,Eclipse就像语文老师一样,立即在错误语句处划出红线,把鼠标移动到红线上,可以看到具体出错信息(见图2)。2  包(Package)的概念  Java API中包含了极其丰富、类似于Random这样由Sun预先定义好的类(Class,如果忘记相关概念,请参考第四篇连载―《品味第一杯咖啡》),与变量作用域的问题一样,不同包中可以有同名同姓的类,如果没有包的概念,就会遇到命名冲突问题。此外,包还能进行安全控制,你可以规定哪些类可以被包外部调用,哪些不可以。  Random类是在java.util这个包中。可以手动在源程序顶部输入import java.util.R语句来申明该程序将要使用java.util包中的Random类,然而有了Eclipse,就不用那么麻烦了―把光标移动到有红色波浪线的Random上,然后按下Ctrl+Shift+M,Eclipse会自动帮你完成导入的工作了。此时保存一下源代码,警告是不是消失了?希望你牢记这个快捷键的用法,在开发大型项目时,再好的脑子也无法牢记每个类所在的包的名字,有了Eclipse的鼎力相助,偷个懒也没问题。  语句翻译  第一句定义了一个类型是Random类的变量random(Java语言区分大小写,所以Random和random是两回事儿),并且用new操作符生成一个Random类的实例赋给random变量。还记得我们上期连载说到变量还有一种引用类型吗?这就是一个例子。random变量实际上是一个参照,指向内存中用new操作符新建的Random类的实例。说起来很拗口,大多数情况下可以把random直接看做是一个Random类的实例,可以通过“random”加上“.操作符”来调用Random类的方法,比如用random.nextInt(100)来获取一个0至99之间的随机数。  第二句语句定义一个整型变量number来保存随机产生的整数,并且用直接初始化的方法把random产生的随机数赋给number变量。  第二步:标准输入输出  标准输入输出(Standard I/O)是指可以被应用程序使用的信息流。比如,应用程序可以从标准输入(Standard input)读取数据,向标准输出(Standard output)写数据,把出错信息发送到标准错误(Standard error)。通过输入输出,应用程序和应用程序之间可以被串联起来使用。虽然标准输入输出是从UNIX发展出来的概念,在Windows中也广泛应用,如果你熟悉DOS,这个概念自然不陌生。猜数字游戏主要用到标准输入,更明确一些,就是控制台输入。还记得我们经常使用System.out.println进行控制台输出吗?相反,要从控制台输入,就需要用到System.in。它是一个纯粹的输入流,而猜数字游戏主要是通过控制台获取玩家的字符(特别是能够支持多国语言的Unicode字符)输入,我们需要把它包装成一个BufferedReader实例来使用:BufferedReader input = new BufferedReader(new InputStreamReader(System.in));  这时,input就是一个能处理来自控制台输入的、支持Unicode的、可以整行读取的一个BufferedReader实例,比如能通过input.readLine()方法获取玩家在控制台整整一行的输入了。  第三步:异常  正如阿甘的名言―Shit happens,程序中的金科玉律就是―一定会出错。出错并不可怕,关键看如何对待错误,有错必究才善莫大焉。  Java语言提供了异常(Exception)处理机制帮助程序员发现并处理异常。什么是异常呢?所谓异常,就是在程序执行过程中能干扰程序正常流程的事件。导致异常的原因很多,比如文件找不到、数组越界、除以零等。当异常出现时,一个异常对象将被自动生成并传递给Java“运行时环境”(runtime system),说得专业一点,就是抛出一个异常。异常对象包含了异常类型、程序运行状态等信息。“运行时环境”得到异常对象后便打断程序的正常流程,自动寻找一个专门处理该异常的代码块来解决问题。这样的代码块称作异常句柄(Exception Handler)。你可以在异常句柄中尝试修复错误、重试或者报错,或者实在无法进行下去的时候来个自我了断。如果“运行时环境”找不到异常句柄,Java程序便会自行中断。  一个典型的异常处理是这个样子的:try {statement(s);} catch (exceptiontype1 name) {statement(s);} catch (exceptiontype2 name) {statement(s);} finally {statement(s);}  其中:  ★try语句括起来的语句可能抛出异常。try语句至少要搭配一个catch语句或finally语句,不能单独使用。  ★catch语句必须和一个try语句配套使用,根据异常类型(exception type)分别处理不同的异常。也就是说,Java有许多预先定义的异常,你可以通过多个catch语句对它们分门别类地处理。你还可以自己定义异常类型。如果try语句块中没有抛出异常,这里自然不会被执行。  ★finally语句也必须和一个try语句配套使用,与catch语句不同,无论try语句块中是否抛出异常,finally所包括的语句块都会被执行。3  举个具体的例子来熟悉一下。猜数字游戏需要从控制台获取玩家输入的数字。我们先定义一个整型变量:  然后就可以编写如下代码:guess = Integer.parseInt(input.readLine());  通过input.readLine从控制台读取输入,并且用Integer.parseInt把获取的字符串类型的输入转换成整型,然后赋给guess变量。  Eclipse又给你脸色看了――input.readLine()下面划上了红线(见图3)。  看看提示,原来是未处理异常句柄。  原来,Java有一种异常称作检查型异常(Checked Exceptions)。一般数组越界、除以零等等都是运行时异常,由于数量众多,Java允许你不必亲自捕捉每个这样的异常,而全权交给运行时环境去处理。但检查型异常就不一样了,Java把检查型异常提升到与参数、返回值同样的高度,也就是说,检查型异常你非处理不可,并且在javadoc中必须加以注释。  那么怎样快速地捕捉这样的异常呢?按照如图3所示,用鼠标点击带有红叉的灯泡图标,在弹出菜单上选择Surround with Try/Catch,异常处理代码模块立即自动生成了。可以发现,这一句话将抛出两个异常:一个是格式异常(NumberFormatException),因为如果你用Integer.parseInt去转换一个汉字,自然是不可能的。另一个便是I/O异常,即标准输入可能会出现不可预料的问题。怎么样,连异常都能够自动捕捉,这就是Eclipse的魅力!  需要说明的是,NumberFormatException并不是检查型异常,而是一个不必刻意捕捉的运行时异常。试试看把捕捉NumberFormatException的那个catch语句块全部删除,Eclipse也不会报错。不过,捕捉这个异常很有实用价值,后文的代码会进一步展示它的作用。  小提示  使用异常机制的诸多好处  ★使得程序更健壮,界面更友善。  ★把程序的业务逻辑与错误处理分开,代码更合理,更美观。  ★异常可以分层次处理,使得代码更简洁。  ★同类的异常可以归到一类一起处理,处理更方便。  Java的异常处理机制是一个很大的话题,这里仅仅是展示了冰山一角,以实用为主,希望你能够自行阅读扩展知识,并且在编写代码过程中注意体会。  while循环控制  上回的Java咖啡馆介绍了for循环语句,这回需要介绍一个它的“亲戚”语句――while语句。  while语句的语法是:while ( expression ) {statement(s)}  首先,while语句判断返回一个布尔值的expression表达式,如果返回值为true,则执行下面语句,之后再测试expression表达式再执行语句,以此往复,直到expression表达式返回false为止。do-while语句与while语句非常相似,语法是:do {statement(s)} while ( expression );  与while语句在循环顶部判断表达式真假值不同,do-while语句在底部判断,从而,do-while语句至少执行一次内部的代码。  下面看看猜数字游戏的主体部分:// 记录玩家猜测的次数int counter = 0;System.out.println("我心里有一个0到99之间的整数,你猜是什么?");do {try {// 获取玩家的输入guess = Integer.parseInt(input.readLine());} catch (NumberFormatException e) {// 如果玩家不是输入一个合法的整数,则让他重新输入System.out.println("请输入一个0-99之间的整数!");} catch (IOException e) {System.out.println("程序发生异常错误将被关闭!");e.printStackTrace();}// 对玩家的输入进行判断if (guess & number)System.out.println("大了点,再猜!");if (guess & number)System.out.println("小了点,再试试!");// 计数器增加一counter++;} while (guess != number);  首先定义了一个counter变量来记录玩家猜测的次数,并直接初始化为0。在打印一行游戏提示以后,便开始一个do-while语句。  在do-while语句中,首先用异常处理语句获取玩家的输入,如果玩家输入不合法,提示以后用continue语句从头重新执行循环语句,等待玩家的输入。从而,guess变量一定包含一个合法的整数。之后要对玩家的输入进行判断。如果玩家的猜测太大或者太小,都做出提示。接着把计数器增加1,表示玩家做过一次猜测。最后便是do-while语句的判断:当玩家猜测的数字和随机产生的答案不同,则再次进入循环,否则便结束循环,执行下面的代码。  最后提醒一句,别忘记用Eclipse的Alt+/快捷键帮助编写do-while语句哦!4  switch语句  switch语句是基于整型表达式的条件判断语句,猜数字用它来进行成绩判断:// 判断成绩switch (counter) {case 1:System.out.println("东渐……快来看上帝……");case 2:case 3:case 4:case 5:case 6:case 7:System.out.println("这么快就猜对了,你很smart啊!");default:System.out.println("猜了半天才猜出来,小同志,尚须努力啊!");}  可以看出,switch语句是和若干case语句和一个default语句搭配使用的。代码中的switch语句用counter变量的值进行判断。当counter的值为1时,便执行case 1里面的语句,即打印“东渐……快来看上帝……”的字样,随后的break语句表示整个switch语句执行到这里结束了。当counter的值为2时,便执行case 2里面的语句。可以发现case 2到case 6都没有break语句,这表示依次执行下面的语句,从而counter的值为2至7时,都打印“这么快就猜对了,你很smart啊!”字样。当counter的值不是1至7时,便执行default语句,打印鼓励的话语。  Just Do It  想想看怎样编写一个会玩猜数字游戏的Java程序呢?  小结  这是Java咖啡馆开张以来最漫长的一回,涉及的知识面很广,希望你能够感到充实而不是烦琐。此外,自己动手编写几个小程序是最好的练习方法。Eclipse是良师益友,有什么问题都会及时通知你,有时还会附上解决方法,希望你善加利用,不要辜负一片心意哦。
1296日元约¥79
262.06+31.19元含税直邮约¥295
82.5元包邮(用券)
2900日元约¥177
软件论坛帖子排行
相关软件:你所在的位置: >
猜数字小游戏大全
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40.
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40.
【猜数字小游戏专题】
专题介绍:7399小游戏为您提供最新最全【猜数字】小游戏在线免费玩,还有各类猜数字小游戏下载,最新的猜数字小游戏排行榜,更多好玩的小游戏尽在7399游戏大全!
人气:6374人气:1652人气:790人气:514人气:247人气:236人气:223Java咖啡馆(6)——编写猜数字游戏_Java_领测软件测试网
Java咖啡馆(6)——编写猜数字游戏
发表于:来源:作者:点击数:
上一回我们讲解了Java语言基础,篇幅所限,仅仅包含相当有限的Java语法知识。本期我们将在上回基础上编写一个猜数字的游戏,进一步学习Java语言基础知识。 猜数字游戏 你肯定玩过猜数字游戏—游戏随机给出一个0至99(包括0和99)之间的数字,然后让你猜是什么
  上一回我们讲解了语言基础,篇幅所限,仅仅包含相当有限的语法。本期我们将在上回基础上编写一个猜数字的游戏,进一步学习Java语言基础知识。猜数字游戏  你肯定玩过猜数字游戏—游戏随机给出一个0至99(包括0和99)之间的数字,然后让你猜是什么数字。你可以随便猜一个数字,游戏会提示太大还是太小,从而缩小结果范围。经过几次猜测与提示后,最终推出答案(我们提供了完整代码,点击这里)。(见图1)游戏设计  首先搭建Java程序框架。打开Eclipse,新建名为GuessNumberGame的项目,然后新建名为GuessNumber的Java类。别忘记给GuessNumber加上合适的doc。  第一步:随机数的产生  我们可以借助Java API提供的Random类来产生一个随机数。  首先在main函数中加入以下三行代码:// 新建一个随机数产生器,然后生成一个0到99之间的整数。Random random = new Random();int number = random.nextInt(100);  不出所料,Eclipse就像语文老师一样,立即在错误语句处划出红线,把鼠标移动到红线上,可以看到具体出错信息(见图2)。
  包(Package)的概念  Java API中包含了极其丰富、类似于Random这样由Sun预先定义好的类(Class,如果忘记相关概念,请参考第四篇连载—《品味第一杯咖啡》),与变量作用域的问题一样,不同包中可以有同名同姓的类,如果没有包的概念,就会遇到命名冲突问题。此外,包还能进行控制,你可以规定哪些类可以被包外部调用,哪些不可以。  Random类是在.util这个包中。可以手动在源程序顶部输入import .util.R语句来申明该程序将要使用java.util包中的Random类,然而有了Eclipse,就不用那么麻烦了—把光标移动到有红色波浪线的Random上,然后按下Ctrl+Shift+M,Eclipse会自动帮你完成导入的工作了。此时保存一下源代码,警告是不是消失了?希望你牢记这个快捷键的用法,在大型项目时,再好的脑子也无法牢记每个类所在的包的名字,有了Eclipse的鼎力相助,偷个懒也没问题。  语句翻译  第一句定义了一个类型是Random类的变量random(Java语言区分大小写,所以Random和random是两回事儿),并且用new操作符生成一个Random类的实例赋给random变量。还记得我们上期连载说到变量还有一种引用类型吗?这就是一个例子。random变量实际上是一个参照,指向内存中用new操作符新建的Random类的实例。说起来很拗口,大多数情况下可以把random直接看做是一个Random类的实例,可以通过“random”加上“.操作符”来调用Random类的方法,比如用random.nextInt(100)来获取一个0至99之间的随机数。  第二句语句定义一个整型变量number来保存随机产生的整数,并且用直接初始化的方法把random产生的随机数赋给number变量。  第二步:标准输入输出  标准输入输出(Standard I/O)是指可以被应用程序使用的信息流。比如,应用程序可以从标准输入(Standard input)读取数据,向标准输出(Standard output)写数据,把出错信息发送到标准错误(Standard error)。通过输入输出,应用程序和应用程序之间可以被串联起来使用。虽然标准输入输出是从发展出来的概念,在中也广泛应用,如果你熟悉DOS,这个概念自然不陌生。猜数字游戏主要用到标准输入,更明确一些,就是控制台输入。还记得我们经常使用System.out.println进行控制台输出吗?相反,要从控制台输入,就需要用到System.in。它是一个纯粹的输入流,而猜数字游戏主要是通过控制台获取玩家的字符(特别是能够支持多国语言的Unicode字符)输入,我们需要把它包装成一个BufferedReader实例来使用:BufferedReader input = new BufferedReader(new InputStreamReader(System.in));  这时,input就是一个能处理来自控制台输入的、支持Unicode的、可以整行读取的一个BufferedReader实例,比如能通过input.readLine()方法获取玩家在控制台整整一行的输入了。  第三步:异常  正如阿甘的名言—Shit happens,程序中的金科玉律就是—一定会出错。出错并不可怕,关键看如何对待错误,有错必究才善莫大焉。  Java语言提供了异常(Exception)处理机制帮助发现并处理异常。什么是异常呢?所谓异常,就是在程序执行过程中能干扰程序正常流程的事件。导致异常的原因很多,比如文件找不到、数组越界、除以零等。当异常出现时,一个异常对象将被自动生成并传递给Java“运行时环境”(runtime system),说得专业一点,就是抛出一个异常。异常对象包含了异常类型、程序运行状态等信息。“运行时环境”得到异常对象后便打断程序的正常流程,自动寻找一个专门处理该异常的代码块来解决问题。这样的代码块称作异常句柄(Exception Handler)。你可以在异常句柄中尝试修复错误、重试或者报错,或者实在无法进行下去的时候来个自我了断。如果“运行时环境”找不到异常句柄,Java程序便会自行中断。  一个典型的异常处理是这个样子的:try {statement(s);} catch (exceptiontype1 name) {statement(s);} catch (exceptiontype2 name) {statement(s);} finally {statement(s);}  其中:  ★try语句括起来的语句可能抛出异常。try语句至少要搭配一个catch语句或finally语句,不能单独使用。  ★catch语句必须和一个try语句配套使用,根据异常类型(exception type)分别处理不同的异常。也就是说,Java有许多预先定义的异常,你可以通过多个catch语句对它们分门别类地处理。你还可以自己定义异常类型。如果try语句块中没有抛出异常,这里自然不会被执行。  ★finally语句也必须和一个try语句配套使用,与catch语句不同,无论try语句块中是否抛出异常,finally所包括的语句块都会被执行。
  举个具体的例子来熟悉一下。猜数字游戏需要从控制台获取玩家输入的数字。我们先定义一个整型变量:  然后就可以编写如下代码:guess = Integer.parseInt(input.readLine());  通过input.readLine从控制台读取输入,并且用Integer.parseInt把获取的字符串类型的输入转换成整型,然后赋给guess变量。  Eclipse又给你脸色看了——input.readLine()下面划上了红线(见图3)。  看看提示,原来是未处理异常句柄。  原来,Java有一种异常称作检查型异常(Checked Exceptions)。一般数组越界、除以零等等都是运行时异常,由于数量众多,Java允许你不必亲自捕捉每个这样的异常,而全权交给运行时环境去处理。但检查型异常就不一样了,Java把检查型异常提升到与参数、返回值同样的高度,也就是说,检查型异常你非处理不可,并且在javadoc中必须加以注释。  那么怎样快速地捕捉这样的异常呢?按照如图3所示,用鼠标点击带有红叉的灯泡图标,在弹出菜单上选择Surround with Try/Catch,异常处理代码模块立即自动生成了。可以发现,这一句话将抛出两个异常:一个是格式异常(NumberFormatException),因为如果你用Integer.parseInt去转换一个汉字,自然是不可能的。另一个便是I/O异常,即标准输入可能会出现不可预料的问题。怎么样,连异常都能够自动捕捉,这就是Eclipse的魅力!  需要说明的是,NumberFormatException并不是检查型异常,而是一个不必刻意捕捉的运行时异常。试试看把捕捉NumberFormatException的那个catch语句块全部删除,Eclipse也不会报错。不过,捕捉这个异常很有实用价值,后文的代码会进一步展示它的作用。  小提示  使用异常机制的诸多好处  ★使得程序更健壮,界面更友善。  ★把程序的业务逻辑与错误处理分开,代码更合理,更美观。  ★异常可以分层次处理,使得代码更简洁。  ★同类的异常可以归到一类一起处理,处理更方便。  Java的异常处理机制是一个很大的话题,这里仅仅是展示了冰山一角,以实用为主,希望你能够自行阅读扩展知识,并且在编写代码过程中注意体会。  while循环控制  上回的Java咖啡馆介绍了for循环语句,这回需要介绍一个它的“亲戚”语句——while语句。  while语句的语法是:while ( expression ) {statement(s)}  首先,while语句判断返回一个布尔值的expression表达式,如果返回值为true,则执行下面语句,之后再expression表达式再执行语句,以此往复,直到expression表达式返回false为止。do-while语句与while语句非常相似,语法是:do {statement(s)} while ( expression );  与while语句在循环顶部判断表达式真假值不同,do-while语句在底部判断,从而,do-while语句至少执行一次内部的代码。  下面看看猜数字游戏的主体部分:// 记录玩家猜测的次数int counter = 0;System.out.println("我心里有一个0到99之间的整数,你猜是什么?");do {try {// 获取玩家的输入guess = Integer.parseInt(input.readLine());} catch (NumberFormatException e) {// 如果玩家不是输入一个合法的整数,则让他重新输入System.out.println("请输入一个0-99之间的整数!");} catch (IOException e) {System.out.println("程序发生异常错误将被关闭!");e.printStackTrace();}// 对玩家的输入进行判断if (guess & number)System.out.println("大了点,再猜!");if (guess & number)System.out.println("小了点,再试试!");// 计数器增加一counter++;} while (guess != number);  首先定义了一个counter变量来记录玩家猜测的次数,并直接初始化为0。在打印一行游戏提示以后,便开始一个do-while语句。  在do-while语句中,首先用异常处理语句获取玩家的输入,如果玩家输入不合法,提示以后用continue语句从头重新执行循环语句,等待玩家的输入。从而,guess变量一定包含一个合法的整数。之后要对玩家的输入进行判断。如果玩家的猜测太大或者太小,都做出提示。接着把计数器增加1,表示玩家做过一次猜测。最后便是do-while语句的判断:当玩家猜测的数字和随机产生的答案不同,则再次进入循环,否则便结束循环,执行下面的代码。  最后提醒一句,别忘记用Eclipse的Alt+/快捷键帮助编写do-while语句哦!
  switch语句  switch语句是基于整型表达式的条件判断语句,猜数字用它来进行成绩判断:// 判断成绩switch (counter) {case 1:System.out.println("东渐……快来看上帝……");case 2:case 3:case 4:case 5:case 6:case 7:System.out.println("这么快就猜对了,你很smart啊!");default:System.out.println("猜了半天才猜出来,小同志,尚须努力啊!");}  可以看出,switch语句是和若干case语句和一个default语句搭配使用的。代码中的switch语句用counter变量的值进行判断。当counter的值为1时,便执行case 1里面的语句,即打印“东渐……快来看上帝……”的字样,随后的break语句表示整个switch语句执行到这里结束了。当counter的值为2时,便执行case 2里面的语句。可以发现case 2到case 6都没有break语句,这表示依次执行下面的语句,从而counter的值为2至7时,都打印“这么快就猜对了,你很smart啊!”字样。当counter的值不是1至7时,便执行default语句,打印鼓励的话语。  Just Do It  想想看怎样编写一个会玩猜数字游戏的Java程序呢?  小结  这是Java咖啡馆开张以来最漫长的一回,涉及的知识面很广,希望你能够感到充实而不是烦琐。此外,自己动手编写几个小程序是最好的练习方法。Eclipse是良师益友,有什么问题都会及时通知你,有时还会附上解决方法,希望你善加利用,不要辜负一片心意哦。
原文转自:
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)热门搜索:
当前位置:
→ Java咖啡馆――编写猜数字游戏(4)
Java咖啡馆――编写猜数字游戏(4)
作者:风未起时 日期: 0:00:27 [
] 人气: 218 |
游戏设计(3)&&&&   首先,while语句判断返回一个布尔值的expression表达式,如果返回值为true,则执行下面语句,之后再测试expression表达式再执行语句,以此往复,直到expression表达式返回false为止。do-while语句与while语句非常相似,语法是:do {statement(s)} while ( expression );  与while语句在循环顶部判断表达式真假值不同,do-while语句在底部判断,从而,do-while语句至少执行一次内部的代码。  下面看看猜数字游戏的主体部分:// 记录玩家猜测的次数int counter = 0;System.out.println("我心里有一个0到99之间的整数,你猜是什么?");do {try {// 获取玩家的输入guess = Integer.parseInt(input.readLine());} catch (NumberFormatException e) {// 如果玩家不是输入一个合法的整数,则让他重新输入System.out.println("请输入一个0-99之间的整数!");} catch (IOException e) {System.out.println("程序发生异常错误将被关闭!");e.printStackTrace();}// 对玩家的输入进行判断if (guess & number)System.out.println("大了点,再猜!");if (guess & number)System.out.println("小了点,再试试!");// 计数器增加一counter++;} while (guess != number);  首先定义了一个counter变量来记录玩家猜测的次数,并直接初始化为0。在打印一行游戏提示以后,便开始一个do-while语句。  在do-while语句中,首先用异常处理语句获取玩家的输入,如果玩家输入不合法,提示以后用continue语句从头重新执行循环语句,等待玩家的输入。从而,guess变量一定包含一个合法的整数。之后要对玩家的输入进行判断。如果玩家的猜测太大或者太小,都做出提示。接着把计数器增加1,表示玩家做过一次猜测。最后便是do-while语句的判断:当玩家猜测的数字和随机产生的答案不同,则再次进入循环,否则便结束循环,执行下面的代码。  最后提醒一句,别忘记用Eclipse的Alt+/快捷键帮助编写do-while语句哦!  switch语句  switch语句是基于整型表达式的条件判断语句,猜数字用它来进行成绩判断:// 判断成绩switch (counter) {case 1:System.out.println("东渐……快来看上帝……");case 2:case 3:case 4:case 5:case 6:case 7:System.out.println("这么快就猜对了,你很smart啊!");default:System.out.println("猜了半天才猜出来,小同志,尚须努力啊!");}  可以看出,switch语句是和若干case语句和一个default语句搭配使用的。代码中的switch语句用counter变量的值进行判断。当counter的值为1时,便执行case 1里面的语句,即打印“东渐……快来看上帝……”的字样,随后的break语句表示整个switch语句执行到这里结束了。当counter的值为2时,便执行case 2里面的语句。可以发现case 2到case 6都没有break语句,这表示依次执行下面的语句,从而counter的值为2至7时,都打印“这么快就猜对了,你很smart啊!”字样。当counter的值不是1至7时,便执行default语句,打印鼓励的话语。  Just Do It  想想看怎样编写一个会玩猜数字游戏的Java程序呢?  小结  这是Java咖啡馆开张以来最漫长的一回,涉及的知识面很广,希望你能够感到充实而不是烦琐。此外,自己动手编写几个小程序是最好的练习方法。Eclipse是良师益友,有什么问题都会及时通知你,有时还会附上解决方法,希望你善加利用,不要辜负一片心意哦。
11-10? 11-10? 11-10? 11-10? 11-10? 11-08? 11-08? 11-08? 11-08? 11-07?
本类热门阅览
Copyright &
. All Rights Reserved}

我要回帖

更多关于 看图猜数字 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信