黑马程序员技术交流社区

标题: Scanner不能读入char类型吗? [打印本页]

作者: 张榆    时间: 2012-9-16 22:20
标题: Scanner不能读入char类型吗?
本帖最后由 张榆 于 2012-9-16 22:50 编辑

比如Scanner cin=new Scanner(System.in);
char ch=cin.nextChar();
这个是没有的,编译会报错。
所以我只好用char ch=(char)System.in.read(); 但是这个和Scanner混用貌似有点问题。请问还有什么别的解决方法?


作者: 夏天    时间: 2012-9-16 22:33
本帖最后由 夏诗瑶 于 2012-9-16 22:56 编辑

java中Scanner类确实没提供直接从键盘获得字符的方法。
而且你如果打印一个字符数组的名字,也不是打印的数组首地址。
char[] chs = { 'c', 'd', 'f' };
  System.out.println(chs);//会输出 cdf
关于char你是看不到源码的,是计算机底层实现的。这也是对char特有的封装。

Scanner s = new Scanner(System.in);
char b = s.next().charAt(0);
System.out.println(b);//
针对本题,可以通过从键盘接收任意字符串的各个字符
作者: 张榆    时间: 2012-9-16 22:46
夏诗瑶 发表于 2012-9-16 22:33
java中Scanner类确实没提供直接从键盘获得字符的方法。
而且你如果打印一个字符数组的名字,也不是打印的数 ...

哦  真是高手,什么都知道    谢谢你




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2