读书人

温习Java核心技术卷1第3章控制

发布时间: 2012-10-23 12:12:22 作者: rapoo

复习Java核心技术——卷1,第3章,控制台输入输出
练习过程中,发现在eclipse下System.console()是为null的,这也正常的,因为IDE没有连接一个console。在cmd情况下,很久没有用java命令来运行程序了,生疏了不少,都是IDE惯的。
走了点弯路,最后还是明白了当前文件夹加上包,就是一个完整路径,所以在cmd中,当前路径调整到D:\workspace\CoreJava\bin之后,就可以直接键入java com.zy.corejava.volume1.chapter3.InputTest。如果是在其他目录下,只要把D:\workspace\CoreJava\bin作为classpath加入就可以了,例如java -classpath CoreJava/bin com.zy.corejava.volume1.chapter3.InputTest。
在这里,我犯的错误,就是直接把当前工作目录调整到chapter3下了,classpath设置的时候,也是直接设置到chapter3下了,这样路径就会变成D:\workspace\CoreJava\bin\com\zy\corejava\volume1\chapter3\com\zy\corejava\volume1\chapter3\InputTest,显然多了一个com\zy\corejava\volume1\chapter3。

import java.io.Console;import java.util.Scanner;public class InputTest{    public static void main(String[] args)    {        Scanner in = new Scanner(System.in);        // get first input        System.out.println("What is your name?");        String name = in.nextLine();        // get second input        System.out.println("How old are you?");        int age = in.nextInt();        // display outpout on console        System.out.println("Hello, " + name + ". Next year, you will be " + (age + 1));        // get user name and password        // In eclipse, the cons will be null.        // In cmd, use "D:\workspace\CoreJava\bin>java com.zy.corejava.volume1.chapter3.InputTest"        // or "D:\workspace>java -classpath CoreJava/bin com.zy.corejava.volume1.chapter3.InputTest"        Console cons = System.console();        String userName = cons.readLine("User name:");        char[] password = cons.readPassword("Password:");        System.out.println("Your user name is: " + userName + ", and your password is: " + String.valueOf(password));    }}

读书人网 >编程

热点推荐