复习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));
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值