问题标签 [system.in]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 谁管理 System.in/System.out 打开/关闭?
众所周知,System.in
和分别System.out
是一个InputStream
和PrintStream
。因此它是一个 java.io Streams。
当我们使用流时,我们应该打开和关闭它。我们还应该捕获很多异常。当我们与这些活动一起工作时System.in
,System.out
我们就可以幸免于难。
谁代替我们执行这些活动?以及何时(在什么条件下?)流打开/关闭?
java - java 使用 sanner 进行 i/o 和文件重定向
我正在尝试读取输入(从键盘以及命令行文件重定向),处理输入信息。并将其输出到文件中。我的理解是使用以下代码,并使用命令行:java programName< input.txt >output.txt
我们应该能够将输出打印到文件中。但它不起作用。有人可以帮忙指出这样做的正确方法吗?非常感谢!
java - java-使用扫描仪一次读取和处理一条信息
我正在尝试使用扫描仪一次读取多行输入。我认为我使用循环的方式或读取信息的方式有问题。输出数组中没有存储任何内容。我在代码中评论了我的问题。有人可以帮忙吗?谢谢!
java - 声明扫描仪读取 system.in
查看 Java 教程,在声明扫描程序时,您似乎必须包装多层对象,例如http://docs.oracle.com/javase/tutorial/essential/io/scanning.html
有BufferedReader
和FileReader
。但是,如果我正在阅读System.in
我是否需要/这样做有什么好处吗?这两个选项的行为是否不同?
对比
java - 如何使用 java.util.Scanner 从 System.in 正确读取用户输入并对其采取行动?
这是一个可以用作重复目标的规范问题/答案。这些要求基于每天发布的最常见问题,并且可以根据需要添加。它们都需要相同的基本代码结构来处理每个场景,并且它们通常相互依赖。
Scanner 看起来像是一个“简单”的类,这是第一个错误的地方。这并不简单,它有各种不明显的副作用和异常行为,以非常微妙的方式打破了最小惊讶原则。
所以这对于这个类来说似乎有点矫枉过正,但是剥洋葱的错误和问题都很简单,但由于它们的相互作用和副作用,它们放在一起非常复杂。这就是为什么 Stack Overflow 上每天都有这么多关于它的问题。
常见的扫描仪问题:
大多数Scanner
问题包括在不止一项这些事情上的失败尝试。
我希望能够让我的程序在每个先前的输入之后自动等待下一个输入。
我想知道如何检测退出命令并在输入该命令时结束我的程序。
我想知道如何以不区分大小写的方式为exit命令匹配多个命令。
我希望能够匹配正则表达式模式以及内置原语。例如,如何匹配看似日期 (
2014/10/18
) 的内容?我想知道如何匹配那些可能不容易用正则表达式匹配实现的东西——例如,一个 URL (
http://google.com
)。
动机:
在 Java 世界中,Scanner
这是一个特例,它是一个非常挑剔的类,老师不应该给新生指导使用。在大多数情况下,教师甚至不知道如何正确使用它。它几乎没有用于专业生产代码,因此它对学生的价值是非常值得怀疑的。
使用Scanner
意味着这个问题和答案提到的所有其他事情。这不仅仅是关于Scanner
如何解决这些常见问题,而这些Scanner
问题在几乎所有出错的问题中总是伴随着病态问题Scanner
。它不仅仅是关于next()
vsnextLine()
,这只是类实现的挑剔的一个症状,代码中总是有其他问题发布在询问关于的问题中Scanner
。
答案显示了 99% 的案例的完整、惯用的实现,其中Scanner
答案显示了在 StackOverflow 上使用和询问
特别是在初学者代码中。Scanner
如果您认为这个答案太复杂,那么在解释其行为的复杂性、怪癖、不明显的副作用和特殊性之前,请向告诉新学生使用的讲师投诉。
Scanner
是关于最小惊讶原则的重要性以及为什么一致的行为和语义在命名方法和方法参数中很重要的一个很好的教学时刻。
学生须知:
您可能永远不会真正看到
Scanner
在专业/商业业务线应用程序中使用它,因为它所做的一切都被其他东西做得更好。现实世界的软件必须比Scanner
允许您编写代码更具弹性和可维护性。现实世界的软件使用标准化的文件格式解析器和文档化的文件格式,而不是您在独立作业中获得的临时输入格式。
java - Java检测字符串
我正在尝试制作一个程序,如果您在 Java 控制台中输入“open”,它就会结束。
当我输入 open 时,下面的 if 语句不会运行。
我也试过 .equals 但它仍然不起作用
但是,当我如下所示打印输入时,输入是打开的。这是没有意义的,因为如果输入是打开的,那么上面的 if 语句应该已经运行。
这是我的完整代码:
}
string - BlueJ 扫描仪不会启动课程
我编写了这个程序,它应该确定一个单词是否是一个 palinder,但问题是当我在 blueJ 中启动它时,程序不会加载,就像我循环一样。我不知道我写错了什么。
java - 为什么当我从 System.in 中读入时,我得到的值与我读入的完全不同?
这是代码:
例如,当我输入 13 时,它会打印出 49..?这是为什么?我该如何解决?
java - 获得用户输入“扫描仪名称=新扫描仪(系统.in);”后 如何在 if 语句中使用 is?
所以我在学习java,一点一点地获得更多的知识,现在我在关注tutroials和其他webistes ect学习,但我陷入了一个我无法弄清楚问题所在的问题。
从这应该做的是,询问玩家姓名,我键入它应该询问姓名,你几岁?有了这个,我有了输入的年龄,因为我想在 if 语句中使用它,但它不起作用,我不明白为什么。所以如果有时间请解释一下。
我现在也使用这个作为指南
java - 使用对象和方法java制作硬币翻转游戏?
我正在尝试用java制作一个硬币翻转游戏。我对这门语言比较陌生,我知道的唯一其他语言是 Javascript,所以我还在学习。在只使用一个类并将所有代码放入其中之前,我已经制作了一个,但我现在正在尝试使用方法来完成它,因为我正在尝试学习它们。
游戏的基本思想是用户选择他们想要翻转的硬币数量,他们选择正面或反面,然后计算机翻转硬币并计算是否有更多正面或反面来告诉用户他们是否赢了或不是。
如您所见,我的程序还不是很完整,但是我已经遇到了错误。我只是对我已经拥有的代码进行了一些测试,我发现当我调用该方法时settingUpCoin
在主类中调用该方法时,程序终止了。
所以基本上,当我运行它时,它会正确执行userImp
,正确转换,但是它不允许你输入值howManyCoins
并在你到达之前终止settingUpCoin
. 请帮忙!谢谢!(另外,很抱歉,如果我在那个解释中说了一些非常愚蠢的话,我对一般编程真的很陌生,所以请幽默我:D)
顺便说一句,如果您有任何其他建议或提示可以帮助我,请随时给他们,只是不要透露太多,因为我想看看我自己能弄清楚多少。再次感谢所有的帮助,因为我知道这是一篇非常混乱的帖子,你们都在用自己的空闲时间阅读!
(注意:这都是在 Eclipse Luna 构建或 Java IDE 中完成的。类文件在实际中都是分开的,我只是把它们放在一起来演示我的代码。)
硬币.java:
用户选择.java:
PutItAllTogether.java: