我是来自 c# 背景的 java 新手。在 c# 中,当我想确保用户不能在控制台应用程序中执行空数据时,我会创建一个循环,例如
static void Main(string[] args)
{
Console.WriteLine("Enter your name : ");
string name = Console.ReadLine();
while (name == "")
{
Console.WriteLine("Enter your name : ");
name = Console.ReadLine();
}
}
现在我想在java中实现相同的功能。我在用
public static void main(String[] args) {
// TODO code application logic here
System.out.println("Enter your name : ");
String pname;
Scanner scan=new Scanner(System.in);
pname=scan.next();
while ("".equals(pname))
{
System.out.println("Enter your name : ");
pname=scan.next();
}
}
但是当输入一个空值时,输出不会Enter your name
再次显示它只会移动一行等待输入一个值。
我究竟做错了什么?