小编Rya*_*ers的帖子

调用 Scanner.close() 会抛出 nosuchelement 异常

我有一个简单的方法,可以将命令打印到屏幕上,扫描用户的输入,并将其作为字符串返回。如果用户的输入无效,它会通知用户并再次询问。此方法运行良好,但我的导师提到我们应该始终关闭资源,因此我返回并添加了 close 方法,现在每次调用该方法时,无论用户输入如何,我都会收到 NoSuchElementException。这是代码...

private String getUserString(String userCommand) {
    System.out.println(userCommand);
    Scanner scan = new Scanner(System.in);
    String userinput = scan.nextLine().trim();

    if (userinput.isEmpty()){
        System.out.println("Invalid choice");
        return getUserString(userCommand);
    }

    else {
        return userinput;
    }
}
Run Code Online (Sandbox Code Playgroud)

异常总是指向用户输入作为 scan.nextLine().trim() 启动的行 注意* 我在每个 return 语句之前的每行上添加了 scan.close() ,但是我没有在上面包含它。

java exception java.util.scanner

4
推荐指数
1
解决办法
2129
查看次数

如何查找arraylist中不同项目的总数.

我做了一些搜索,但我找不到有效的解决方案.我有一个arylylist存储字符串,如口香糖,袜子,OJ,狗粮......

我无法迭代列表以确定不同类型项目的总数.

即.

ArrayList<String> Store = new ArrayList<String>();
    this.Store.add("Gum");
    this.Store.add("Gum");
    this.Store.add("Socks");
    this.Store.add("Candy");
Run Code Online (Sandbox Code Playgroud)

该列表共有4个项目,但只有三种不同的项目(Gum,Sucks,Candy).

我如何设计一种计算3的方法?

java loops arraylist duplicates

1
推荐指数
2
解决办法
3011
查看次数