Java多重扫描仪

Java多重扫描仪,第1张

Java多重扫描仪

任何流都具有多个包装器是使自己真正困惑的好方法。我建议你只包装一次流,除非你真的知道自己在做什么。

最简单的方法是在这种情况下使用单例,因为它包装了另一个单例(最好是将Scanner作为参数传递)

public class Application {     // use this Scanner in all you other pre, don't create another one.    static final Scanner scan = new Scanner(System.in);    public static <E> void main(String[] args) {

我猜这是因为该方法中的扫描仪尚未关闭

关闭流后,它将关闭基础流,并且你无法再次使用它。如果要防止再次使用System.in,请仅将其关闭。

我将如何解决它?

最好的解决方案是在一处,一种方法或一类中使用所有Scanner。你可以让main()与用户进行所有交互,并将值传递给数据结构。拥有会自行初始化的对象是一种不好的做法,如果你开始这样做,那么它将在你的其余开发日子中困扰你;)(严重的是,你会一遍又一遍地看到这一点,这通常是一场噩梦)

BTW切勿在没有解释的情况下退出程序。

System.exit(0)
;甚至没有错误消息的呼叫也是一场噩梦。我曾经从事过一个项目,该项目经常对System.exit()进行260次调用,而没有出现错误消息,你可以想象诊断出服务器只是出于无故停止的诊断是多么有趣。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5427424.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存