2017-03-16 58 views
0

我正在尝试为我正在练习的小型个人银行帐户项目实现某些功能。我想这样做,以便如果用户输入一个空格,或者根本不输入任何内容(意味着他们按下输入,而不输入值)帐户的默认名称切换到“默认”。如何接受扫描器输入的空白​​值

像这样:

Scanner read = new Scanner(System.in); 
System.out.print("Enter your account's name: "); 
String input = read.next(); 
String name = ""; 

if (input == "" || input == null) { 
    name = "Default"; 
} else { 
    name = input; 
} 

可能是一个愚蠢的问题,但是这是一个地方我有一个小麻烦。如果我输入一个空格然后按回车键,则不会继续设置名称。如果在提示输入时按Enter键,则不会继续设置名称。有没有办法设置它?

编辑:我不想知道一个字符串是否等于另一个字符串通过.equals()(谢谢你顺便说一句)。扫描仪仍然不接受空白输入。

+4

使用.equals()比较java中的字符串 – Sweeper

+0

,==用于原始值相等或对象引用相等。像Sweeper提到的那样,通过.equals()确定对象值的相等性() –

+0

True。但是,无论如何,我仍然无法输入空白字符并让扫描仪接受它。 :/ – Jack

回答

0
Scanner sc=new Scanner(System.in); 
    System.out.print("Enter your account's name: "); 
    String input = sc.nextLine(); 
    String name = ""; 
    // System.out.println(input); 
    if (input.isEmpty()) { 
     name = "Default"; 
    } else { 
     name = input; 
    } 
System.out.println(name); 

这个f9试试吧。