java的输入

来源:互联网 发布:centos 解压缩 tar.gz 编辑:程序博客网 时间:2024/06/17 19:14

在java中打印输出到控制台窗口是一件非常容易的事情,只要调用System.out.println即可。然而,读取“标准输出流”System.in就没有那么简单了。要想通过控制台进行输入,除了命令行参数外,首先需要构造一个Scanner对象,并与“标准输入流”System.in关联。

Scanner  in = new Scanner(System.in);

现在,就可以使用Scanner类的各种方法实现输入操作了。例如,nextLine方法将输入一行。

System.out.println("what is your name?");

String name = in.nextLine();

在这里,使用nextLine方法是因为在输入行中可能包含空格。要想读取一个单词(以空白作为分隔符),就调用

String firstName = in.next();

要想读取一个整数,就调用nextInt方法。

System.out.print("How old are you ?");

int age = in.nextInt();

与此类似,要想读取下一个浮点数,就调用nextDouble方法。

Scanner类定义在java.util包中。

下面是InputTest.java的例子:

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("Hello, "+name+". Next year, you will be "+(age+1));

}

}

因为输入是可见的,所以Scanner类不适用于从控制台读取密码。Java SE 6 特别引入了Console类实现这个目的。要读取一个密码,可以采用下列代码:

Console cons = System.console();

String username = cons.readLine("User name:");

char[] passwd = cons.readPassword("Password:");

static char[] readPassword(String prompt, Object ... args)

static String readLine(String prompt, Object ... args)

显示字符串prompt并且读取用户输入,直到输入行结束。

原创粉丝点击