如何让输入成为可选的,或者如何检查输入流中是否有标记。

问题描述 投票:0回答:2

所以我想在输入列表时有一个选项,如果我没有输入任何路径,我想让程序使用当前的目录,但它只是在等待我输入一些东西,如果我没有输入任何东西,我必须做什么才能让程序继续。我应该用什么方法来代替Scanner.hasNext()来检查输入流中是否有任何标记。

String function = scanner.next();
switch (function) {
    case "list":
    if (scanner.hasNext()) {
        path = scanner.next();
        list(path, 0);
    } else {
        list(System.getProperty("user.dir"), 0);
    }
    break;
java inputstream
2个回答
0
投票

不能完全按照你的尝试去做,但是有一些选择。

选项1--有不同的命令

listlist_default例如,虽然 list_default 不是最美

备选方案2:两个单独的提示

> Enter a command
list
> Enter directory to search (defaults to user directory)

在第二条提示之后,如果用户刚刚点击了 Enter你会用user dir,但如果他输入了一个目录路径,你就会用那个

选项3:更复杂的命令

list 将列出用户目录,而 list /some/path 会列出 some/path.


0
投票

你有没有试过使用 scanner.nextLine() 而不是 scanner.next() ?

© www.soinside.com 2019 - 2024. All rights reserved.