Java Scanner 添加可选的用户输入提示
Posted
技术标签:
【中文标题】Java Scanner 添加可选的用户输入提示【英文标题】:Java Scanner add optional user input prompts 【发布时间】:2020-10-20 13:10:36 【问题描述】:使用 java util Scanner 将一些参数作为可选用户输入的方法是什么?下面是我的代码。但是,对于所有参数,在输入用户输入之前它都会被阻止。
我希望它继续用于第二个参数,以防“输入用户输入然后按下回车键”“或”“当刚刚按下回车键而不输入任何输入”。
public class MainApplication
public static void main(String args[])
Scanner in = new Scanner(System.in);
System.out.println("Enter ordertypes in comma separated format (mandatory): " );
String orderOrActionTypes = in.next();
System.out.println("Enter orderAttributes (optional): " );
String orderAttributes = in.next();
System.out.println("Enter ActionAttributes (optional): " );
String actionAttributes = in.next();
【问题讨论】:
【参考方案1】:您仍然可以保留输入,但将其留空。
当需要输入时,用户可以按Enter
(结果为空字符串),然后您可以测试用户是否输入了orderAttributes.isEmpty()
,然后根据结果执行您需要的操作。
【讨论】:
不,按 Enter 将无济于事,因为它不会继续,直到输入用户输入才会被阻止。 那是因为你使用的是in.next()
,尝试使用in.nextLine()
,当你按下Enter
时会产生空字符串
in.nextLine() 将产生空字符串,即使输入了任何值。如果输入,我想捕获值,如果没有输入,我想捕获空字符串。
您应该将所有输入更改为in.nextLine()
,因为in.next()
读取直到遇到空格,否则您的第一个输入会破坏您的下一个输入。将所有内容更改为in.nextLine()
,它应该可以工作。
很高兴为您提供帮助,非常感谢您的支持,祝您好运。【参考方案2】:
尝试使用in.nextLine();
,它可能会有所帮助。
【讨论】:
以上是关于Java Scanner 添加可选的用户输入提示的主要内容,如果未能解决你的问题,请参考以下文章
关于如何往Jupyter notebook添加可选的kernel