1读取输入
打印输出到"标准输出流"(即控制台窗口)是一件非常简单的事情,只要调用System.out.printLn即可。可是读取"标准输入流"System.in可能就没有那么简单了。要想通过控制台进行输入,首先需要构造一个Scanner对象,并与"标准输入流"System.in关联。
Scannerin=new Scanner(System.in);
这样就可以使用Scanner类的各种方法实现输入操作了。例如nextLine方法将输入一行
System.out.print("Whatis your name!");
Stringname =in.nextLine();
在这里使用nextLine方法是因为在输入行中有可能包含空格,要想读取一个单词(以空白符作为分隔符)则调用
StringfirstName=in.next();
要读取一个整数,就调用NextInt方法,类似,读取浮点数,就调用nextDouble方法
需要添加import java.util.*;
Scanner类定义在java.util包中。不在java.lang包中,要使用import指示字将相应的包加载进来
因为输入时可见的,所以Scanner类并不适用于从控制台读取密码,java引入了Console类实现这个目的,要读取一个密码,可以采用下列代码:
Consolecons=System.console();
Stringusername=Cons.readLine("User name:");
char[]passwd=cons.readPassword("Password:");
为了安全起见,返回的密码存放在一维字符串数组中,而不是字符串中。在对密码进行处理之后,应该马上用一个天充值覆盖数组元素
采用Console对象处理输入不如采用Scanner方便,每次只能读取一行输入,而没有能够读取一个单词或一个数值的方法。