以文本方式查看主题

-  课外天地 李树青  (http://www.njcie.com/bbs/index.asp)
--  Java程序语言课件  (http://www.njcie.com/bbs/list.asp?boardid=17)
----  System.in.read()函数的使用  (http://www.njcie.com/bbs/dispbbs.asp?boardid=17&id=25)

--  作者:admin
--  发布时间:2006/2/26 21:29:34
--  System.in.read()函数的使用

System.in.read()可以实现输入字符,返回字符的Unicode码,但是缺点是只能输入一个字符,如
public class exec
{
        public static void main( String args[] ) throws Exception
        {
                int i=System.in.read();
                System.out.println(i);
        }
}
如果输入1
输出为49
如果输入123
输出还是49

利用System.in.read()的重载函数可以实现对多个字符的输入,如
public class exec
{
        public static void main( String args[] ) throws Exception
        {
                byte[] barray=new byte[5];
                
                System.in.read(barray);
                
                for(int i=0;i<barray.length;i++)
                        System.out.println(barray[i]);
        }
}
如果输入1
输出为
49
13
10
0
0
如果输入12
输出为
49
50
13
10
0

此时可以发现输入的还是Unicode码,但是会多产生很多其他字符,如回车和换行等。
如何进一步将字节数组信息转换成所需类型,可以使用字符串类来进行,如:
import java.sql.*;

public class exec
{
public static void main(String [] args)throws Exception
{
  byte[] b=new byte[10];
  System.in.read(b);
  String s=new String(b);
  System.out.println(s);
}
}

更好的做法是使用流类进行处理输入

[此贴子已经被作者于2010-12-12 07:36:00编辑过]

--  作者:eva
--  发布时间:2007/3/18 15:04:44
--  

String s=new String(b);

老师,这是什么意思?


--  作者:admin
--  发布时间:2007/3/18 21:26:59
--  回复

功能为将字节数组转换成字符串

相关内容还没有讲到,使用的是字符串类的构造函数,以后会说明