读取输入
打印输出到标准输出流即控制台窗口是件容易的事情,只要调用System.out.println即可。
然而,读取“ 标准输人流” System.in就没有那么简单了。要想通过控制台进行输人,首先需要构造一个 Scanner 对象,并与“ 标准输人流” System.in 关联。 注意要在程序的最开始添加上一行: import java.util.*;
import java.util.*;
Scanner in = new Scanner(System.in);
现在,就可以使用 Scanner 类的各种方法实现输入操作了。
例如, nextLine方法将输入 一行。
System.out.print("What is your name? ");
String name = in.nextLine();
在这里,使用 nextLine 方法是因为在输人行中有可能包含空格。要想读取一个单词(以空白 符作为分隔符), 就调用
String firstName = in.next();
要想读取一个整数, 就调用 nextlnt 方法。
System.out.print("How old are you? ");
int age = in.nextlnt();
与此类似,要想读取下一个浮点数, 就调用 nextDouble 方法。
示例:
import java.util.*;
public class InputTest {
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
System,out.print("What is your name? ");
String name = in.nextLine();
System,out.print("How old are you? ");
int age = in.nextInt();
System.out.println(name+ " is " + age + " years old.");
}
}
API
java.util.Scanner5.0
• Scanner (InputStream in)
用给定的输人流创建一个 Scanner 对象。
• String nextLine( )
读取输入的下一行内容。
• String next( )
读取输入的下一个单词(以空格作为分隔符)。
• int nextlnt( )
• double nextDouble( )
读取并转换下一个表示整数或浮点数的字符序列。
• boolean hasNext( )
检测输人中是否还有其他单词。
• boolean hasNextInt( )
• boolean hasNextDouble( )
检测是否还有表示整数或浮点数的下一个字符序列。
java.Iang.System 1.0
• static Console console( ) 6
如果有可能进行交互操作, 就通过控制台窗口为交互的用户返回一个 Console 对象, 否则返回 null。对于任何一个通过控制台窗口启动的程序, 都可使用 Console对象。 否则,其可用性将与所使用的系统有关。
java.io.Console 6
• static char[] readPassword(String prompt, Object…args)
• static String readLine(String prompt, Object…args)
显示字符串 prompt 并且读取用户输入,直到输入行结束。args 参数可以用来提供输人 格式。有关这部分内容将在下一节中介绍。