我想创建一个命令行,只是为了运行基本命令.到目前为止,我已经做到了,所以人们可以告诉程序他们的名字.但是,当我没有输入名称时,它会像我一样对待它.这是我的班级:
public static void main(String args[])
throws IOException
{
int a = 1;
do
{
System.out.print("$$: ");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String wtt = null; // wtt = what they typed!
wtt = br.readLine();
if(wtt == null)
{
System.out.println("Why wont you tell me your name!");
}
else
{
System.out.println("Thanks for the name, " + wtt);
}
}
while(a == 1);
}
Run Code Online (Sandbox Code Playgroud)
这是输出
$$:好吧
谢谢你的名字,好吧
$$:洞
谢谢你的名字,洞
$$:
谢谢你的名字,
为什么不起作用?
调用readLine()一个BufferedReader只会null在输入结束时返回.在这里,输入还没有结束,你刚刚输入一个空行,所以""(空字符串)就是结果.
您需要结束输入流,通常使用Ctrl-C.然后你会得到"Why wont you tell me your name!".但是你需要打破你的无限循环.
| 归档时间: |
|
| 查看次数: |
122 次 |
| 最近记录: |