课外天地 李树青学习天地Java程序语言课件 → System.in.read()函数的使用


  共有19443人关注过本帖树形打印复制链接

主题:System.in.read()函数的使用

帅哥哟,离线,有人找我吗?
admin
  1楼 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 管理员
等级:管理员 帖子:1939 积分:26594 威望:0 精华:34 注册:2003/12/30 16:34:32
System.in.read()函数的使用  发帖心情 Post By:2006/2/26 21:29:34 [只看该作者]

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
  2楼 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:43 积分:2049 威望:0 精华:0 注册:2006/9/18 17:29:55
  发帖心情 Post By:2007/3/18 15:04:44 [只看该作者]

String s=new String(b);

老师,这是什么意思?


 回到顶部
帅哥哟,离线,有人找我吗?
admin
  3楼 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 管理员
等级:管理员 帖子:1939 积分:26594 威望:0 精华:34 注册:2003/12/30 16:34:32
回复  发帖心情 Post By:2007/3/18 21:26:59 [只看该作者]

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

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


 回到顶部