黑马程序员技术交流社区
标题:
Scanner类
[打印本页]
作者:
王广彬
时间:
2012-8-3 22:35
标题:
Scanner类
在Scanner类,可以从键盘输入整型,实型,字符串,怎么找不到字符的输入方法?怎样从键盘输入字符?请各位大侠指点一下.
作者:
杨智
时间:
2012-8-3 23:26
一般开发中都是用流的, 用标准键盘输入流 BufferedReader br = new BufferedReader(new InputStreamReader(System.in));这个好用 你那个我很少用 所以也不太清楚 嘿嘿
作者:
王志明
时间:
2012-8-3 23:31
next() 就是
String next() 查找并返回来自此扫描器的下一个完整标记。
作者:
瞿乐
时间:
2012-8-4 02:43
建议楼主保持一个好习惯,也是好的学习方法,但不懂类时候,先查一下API,看一下构造函数,注意要传什么参数,再遍历一下该类的方法,像楼主提的问题,在API里面都有说的。
Scanner input = new Scanner(System.in) ;
变量input便有了 Scnner类中的方法,下面这些是列举的一些楼主需要用的了。
boolean nextBoolean() 扫描解释为一个布尔值的输入标记并返回该值。
byte nextByte() 将输入信息的下一个标记扫描为一个 byte。
byte nextByte(int radix) 将输入信息的下一个标记扫描为一个 byte。
double nextDouble() 将输入信息的下一个标记扫描为一个 double。
float nextFloat() 将输入信息的下一个标记扫描为一个 float。
int nextInt() 将输入信息的下一个标记扫描为一个 int。
希望能够对楼主有帮助~~
我觉得新手应该多看看API,我是新手,我
作者:
赵俊杰
时间:
2012-8-4 06:43
本帖最后由 赵俊杰 于 2012-8-4 06:50 编辑
import java.util.Scanner;
/***
*
* 本人新手,对这些方法的底层实现过程不太了解,但根据楼主现在对system.in用法的需求,我觉得您"至少"可以这么干:
*
*
*
解决方法(一):
*
使用Scanner的next()方法;
* 官方API对next()方法的解释:
* 查找并返回来自此扫描器的下一个完整标记。
* 经验:
*
next()不能接收有空格的字符串(会将其截断),也不会接收回车;
* 举例:
* 输入"我爱 北京天安门",打印结果是"我爱";
*
*
解决方法(二):
*
使用Scanner的nextLine()方法;
* 官方API对nextLine()方法的解释:
* 此扫描器执行当前行,并返回跳过的输入信息。
* 经验:
*
nextLine()可以接收有空格的字符串,并且可以接收"回车";
* 举例:
* 输入"我爱 北京天安门",打印结果是"我爱北京天安门",按回车键结束当前输入后,您会发现,
* 回车符也被接收了进来,不信看光标是不是跑到了最后一行,因Enter键是回车符,所以才令起了一行;
*
*
解决方法(三):
*
使用老师推荐的键盘输入流格式。
* 解释:
*
因使用缓冲流,不仅可以完美解决您现在的需求,而且提高了效率。
* 举例:
* 输入"我爱 北京天安门",打印结果对于您现在的需求来说,应该非常完美。
*
*
具体代码如下:
*/
//方法(一)
public class Test {
public static void main(String[] args) throws Exception
{
Scanner scan=new Scanner(System.in);
System.out.println(scan.next());
}
}
//方法(二)
//public class Test {
//
// public static void main(String[] args) throws Exception
// {
// Scanner scan=new Scanner(System.in);
// System.out.println(scan.nextLine());
// }
//}
//方法(三)
//public class Test {
// public static void main(String[] args) throws Exception
// {
// BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
// System.out.println(br.readLine());
// }
//}
作者:
肖琦
时间:
2012-8-4 09:04
非要用Scanner接收字符的话,就用这个方法吧:new Scanner(System.in).next().charAt(0)
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2