`
uule
  • 浏览: 6359340 次
  • 性别: Icon_minigender_1
  • 来自: 一片神奇的土地
社区版块
存档分类
最新评论

System.in.read()使用

 
阅读更多

system.in.read()方法的作用是从键盘读出一个字符,然后返回它的Unicode码。按下Enter结束输入

看一下这个程序:

for(int j = 0; j < 5; j++) {
	                    System.out.println("INPUT:");
	                    char c = 0;
	                    try {
	                       c = (char) System.in.read();	                       
	                     } catch(IOException e){ 
	                    	 
	                     }
	                    if( c == '1') {
	                      System.out.println("OK!");
	                     }
	                  }

 假设我们输入1,结果:

INPUT:
1
OK!
INPUT:
INPUT:
INPUT:

啥原因?

 

一点一点Debug我们会发现,第二次时读到的字符其实是回车符\t,继续循环;第三次接受到的是换行符\n,也继续循环;第三次到Input出不动,等待我们继续循环。

第二次:


结论:

用System.in.read()时,我们在键盘上按下的任何一个键都会被当做是输入值,包括Enter键也会被当做是一个值!当我们按下Enter的时候,实际上发送两个键值:一个回车\t(13),一个是换行\n(10)

 

参考:http://www.360doc.com/content/07/1112/13/15458_818134.shtml

 

例子2 :

public static void main(String[] args)  {
  try {
      int i=System.in.read();
      System.out.println(i);
  } catch (IOException e) {
   e.printStackTrace();
  }
}

 
这里输入1,这返回结果是49
输入A,返回结果是65

 

例子3:

 public static void main(String[] args) throws Exception {  
     int[] x = new int[6];  
     Arrays.fill(x, 1);  
     for (int i = 0; i < x.length; i++) {  
         System.in.read();  
         System.out.println(x[i]);  
     }  
 }

 结果:

输出1  1  1 后等待输入

  • 大小: 19.6 KB
分享到:
评论

相关推荐

    java编写oracle的存储过程,为什么调用System.in阻塞IO时不起作用?还报错?

    在Java编程中,Oracle存储过程的调用与标准输入(System.in)的交互可能会遇到一些问题,特别是当尝试使用System.in进行阻塞IO操作时。这个问题通常涉及到Java的多线程概念、I/O流的处理以及Oracle存储过程的执行...

    java代码-System.in.read()测试

    在`main.java`文件中,很可能包含了一个简单的示例程序,该程序演示了如何使用`System.in.read()`读取用户输入并处理它。`README.txt`文件可能包含了关于如何运行此程序的说明,或者解释了程序的目的和工作方式。 ...

    WP.PRO.Advertising.System.All.In.One.Ad.Manager.v4.6.13

    而"WP.PRO.Advertising.System.All.In.One.Ad.Manager.v4.6.13"则是插件的主要程序文件,用户只需按照指南进行安装即可开始使用。 总结来说,WP.PRO.Advertising.System.All.In.One.Ad.Manager.v4.6.13是一款针对...

    Java中System类.pdf

    例如,在实例1中,我们使用System.in.read方法来从键盘读入一个字符,并将其输出到显示器。 System.err是一个PrintStream对象,能够把错误信息输出到显示器。例如,在实例1中,我们捕捉了IOException异常,并使用...

    如何使用 System.IO 和 Visual C# 读取文本文件.doc

    本篇文章将详细讲解如何使用System.IO和Visual C#进行文本文件的读取。 首先,确保你已经安装了Microsoft Visual Studio 2005或更高版本,因为我们需要这个IDE来编写和运行C#代码。创建一个新的项目,可以选择...

    C#中Forms.Timer、Timers.Timer、Threading.Timer的用法分析

    本文实例讲述了C#中Forms.Timer、Timers.Timer、Threading.Timer的用法分析,分享给大家供大家参考。具体分析如下: ...是使用得比较多的Timer,Timer Start之后定时(按设定的Interval)调用挂接在Tick事

    Java中标准输入输出.pdf

    在使用System.in.read()方法读入数据时,需要注意以下几点: * System.in.read()语句必须包含在try块中,且try块后面应该有一个可接收IOException例外的catch块。 * 执行System.in.read()方法将从键盘缓冲区读入一...

    java输入输出语句.doc

    上面的代码使用 System.in.read() 方法来从键盘输入一个字符,并将其输出到屏幕上。 三、BufferedReader BufferedReader 是一个高效的缓冲输入流,可以用于从键盘输入数据。例如: ```java import java.io.*; ...

    .A.Comprehensive.Guide.to.Digital.Electronics.and.Computer.System.Architecture.p

    The parts may be read sequentially or in arbitrary order, depend- ing on the reader’s level of knowledge and specific areas of interest. A complete discussion of digital logic and microprocessor ...

    java获取输入台数据方法.doc

    在 Java 中,我们可以使用 System.in.read() 函数来获取键盘输入值,但是这个函数只能获取单个字符,并且获取进来的变量类型只能是 char。当我们输入一个数字,希望得到的也是一个整型变量的时候,我们还得修改其中...

    Java\输入输出.txt

    示例代码展示了如何通过`System.in.read()`方法读取一个字符,并通过`System.out.println()`输出该字符: ```java public class MyFirstJava { public static void main(String args[]) throws java.io.IOException...

    在Java中从命令控制台输入数据的一些常用方法.doc

    这可以通过多种方式实现,包括使用`System.in`、`Scanner`类、`BufferedReader`类等。下面将详细介绍这些方法及其应用场景。 #### 1. 使用标准输入流对象 `System.in` 在Java中,`System.in`是一个标准输入流对象...

    java输入输出语句整理总结.doc

    Java 中可以使用 `System.in.read()` 或 `BufferedReader` 来实现控制台输入。 Scanner 类 `Scanner` 类是 Java 中用来实现输入输出操作的类。使用 `Scanner` 类可以从控制台中输入数据,并将其转换为相应的数据...

    引用 Java中从命令控制台输入数据的几种常用方法.doc

    使用 System.in.read() 方法可以读取一个字节的数据,但这对于读取字符串或一组数字来说是不够的。为了读取更多的数据,可以使用 java.util.Scanner 类。 方法二:使用 Scanner 类 java.util.Scanner 类可以用来...

    Java编程中获取键盘输入值的方法

    Java 编程中获取键盘输入值的方法 ...Java 中获取键盘输入值的方法有三种:使用 System.in.read()、使用 BufferedReader 和 InputStreamReader、使用 Scanner。每种方法都有其优缺,开发者可以根据需要选择合适的方法。

    JAVA语言中read方法分析

    具体而言,`System.in.read()`方法读取的是单个字节,而当用户输入一系列字符时(如输入数字后按回车),实际上读取到的是包括数字在内的整个字符序列的首字节,通常为回车符。 **解决方案:** 1. **使用...

    Java语言程序控制语句ppt课件.ppt

    System.in.read(buf); str = new String(buf); anInt = Integer.parseInt(str); System.out.println("The input integer is: " + anInt); } } ``` Java语言程序控制语句是Java语言中的一种基本结构单元,用于...

Global site tag (gtag.js) - Google Analytics