import java.io.*;
class LX2_10
{public static void main(String args[]) throws IOException {char ch;System.out.println("按 1/2/3 数字键可得大奖!"); System.out.println("按空格键后回车可退出循环操作."); while ((ch=(char)System.in.read())!=' ') { System.in.skip(2);    // 跳过回车键(skip方法跳过和丢弃输入流中数据的 n 个字节)switch (ch) {case '1': System.out.println("恭喜你得大奖,一辆汽车!"); break;case '2': System.out.println("不错呀,你得到一台笔记本电脑!");break;case '3': System.out.println("没有白来,你得到一台冰箱!"); break;default:System.out.println("真不幸,你没有奖品!下次再来吧。");}}}
}

但是如果将System.in.skip(2); 注释掉

原因是:

当用户键入字母,按Enter 键后,虽然屏幕只显示了一个字母,但是在系统内存中实际保存了3个ASCII码。第一个ASCII码是用户键入的字母的ASCII码,第二个是回车的ASCII码013,第三个是换行的ASCII码010。

在这种情况下,System.in.read(); 语句会在第二、三轮循环时分别读取内存中的ASCII 码013和010,而不会要求用户键入新的字母。只有在第四轮循环时,因为内存中的内容已经全部读取完,才会要求用户键入新的字母。

Java System.in.skip()的作用相关推荐

  1. java中输出时 什么作用_JAVA中输入和输出处理(Java I/O)重点总结

    文件-使用File类操作文件: 什么是文件?  文件可认为是相关记录或放在一起的数据的集合. 文件一般存储在哪里?  储存在存储设备里. Java程序如何访问文件?  Java API:java.io ...

  2. java scanner_Java Scanner skip()方法与示例

    java scanner 扫描仪类skip()方法 (Scanner Class skip() method) Syntax: 句法: public Scanner skip(Pattern patt ...

  3. java skip_Java CharArrayReader skip()方法

    Java CharArrayReader skip()方法 java.io.CharArrayReader.skip(long n) 用于跳过输入流中的字符. 1 语法 public long ski ...

  4. Java中static的作用详解_详解java中static关键词的作用

    在java中,static是一个修饰符,用于修饰类的成员方法.类的成员变量,另外可以编写static代码块来优化程序性能:被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载 ...

  5. Java开源项目Hibernate包作用详解

    Java开源项目Hibernate包作用详解 本文引自:http://hi.baidu.com/nick6610/blog/item/70b58afa0d0eab9259ee90f7.html Jav ...

  6. java中static修饰函数_详解java中static关键词的作用

    在java中,static是一个修饰符,用于修饰类的成员方法.类的成员变量,另外可以编写static代码块来优化程序性能:被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载 ...

  7. java配置lib_javalib中文 java中的lib什么作用呢

    java中jar包和lib的区别? lib你可以理解为library(库),是一个文件夹,按照规范一般就是存放第三方的资源 JAR(Java Archive,Java 归档文件)是与平台无关的文件格式 ...

  8. Java中的构造器的作用?(构造方法的作用与特点)

    Java中的构造器的作用是什么? 今天看到一个问题,那就是Java中的构造器的作用是什么,第一反应是:嗯?构造器?不就是构造方法嘛,只是只是叫法不一样,但是习惯喊构造方法的我还是忍不住吐槽了,回归正题 ...

  9. Java中import语句的作用

    Java中import语句的作用 为了能够使用某一个包的成员,我们需要在 Java 程序中明确导入该包.使用"import"语句可完成此功能.在 java 源文件中 import ...

最新文章

  1. linux C 多线程编程
  2. 深度学习未来的三种方式
  3. 【知云】第十二期:处于风口浪尖上的直播视频网站,如何快速部署直播监管?...
  4. 在deepin 15.5中安装vs code并配置c/c++环境
  5. C# - 创建List属性的简单方法
  6. 系统错误_Win10系统提示0x80004005错误的解决方法
  7. 好机会,我要帮女同事解决Maven冲突问题
  8. extundelete 简单使用
  9. Git使用中关于rebase 、stash 、reflog、reset的一些注意点
  10. 魅族mx四核即将使用android,魅族MX四核智能手机发布
  11. 斯坦福博弈论笔记整理活动的任务已重新划分,望周知
  12. 《spring-boot学习》-02-hello world
  13. 集中式 vs 分布式 版本控制
  14. php获取xml中的数据格式_php-从xml文件获取数据
  15. 使用uploadify上传大文件报 IO error #2038错误的解决方案
  16. 三维校园(三维虚拟校园)的使用体验
  17. win7计算机里的桌面不见了怎么办,win7桌面图标不见了怎么办,教您解决win7桌面图标不见了...
  18. 【odroid-xu3】 ODROID-XU3软件环境搭建记录
  19. CDH6.2环境中启用Kerberos
  20. 在线CRM客户管理系统有好用的吗?这5款千万别错过!

热门文章

  1. 【windows核心编程】线程局部存储TLS
  2. kindEditor文本编辑器
  3. 适用于iOS7 UI的外描边图标素材下载
  4. linux下用户命令
  5. 使用ctime.h头文件来控制程序延时秒数
  6. Asp.net主题(theme)和皮肤(skin)的使用
  7. 逻辑斯蒂回归java_机器学习 (五)逻辑斯蒂回归
  8. 抢购 mysql 优化_处理抢购、秒杀应用场景降低“超卖”发生几个优化方案(php)...
  9. 夯实Java基础(二十一)——Java反射机制
  10. flash as3笔记1