本帖最后由 赵俊杰 于 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());
// }
//} |