使用Scanner获取输入
介绍
- 程序,是一定要和用户交互的。交互的最简单的方式,就是用户输入命令,然后程序输出结果。
- 当在文字模式下要输入数据至程序中时,你可以使用标准输入串流对象System.in,然而我们很少直接使用它,因为System.in对象所提供的 read()方法,是从输入串流取得一个字节的数据,并传回该字节的整数值。
- 在文字模式下的输入是以字符的方式传送给程序,所以直接使用read()方法取得的是字符的ASCII编码整数,通常要取得的使用者输入会是一个字符串,或是一组数字,所以 System.in对象的read()方法一次只读入一个字节数据的方式并不适用。
- 在 J2SE 5.0 中,你可以使用java.util.Scanner取得使用者的输入。
java.util指的是包(package)层级,java.util.Scanner表示Scanner这个类是位于java/util这样的阶层之下,现阶段你可以将这个阶层想象为类似档案管理的目录(数据夹)阶层。
实例
直接先来看如何取得使用者的输入字符串:
class
{
import java.util.Scanner;
public class UserInput
{
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
System.out.print("Please input your name: ");
System.out.printf("Hello! %s!", scanner.next());
}
}
}