问题标签 [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 - 使用 CoderPad,为什么我在 System.in 上使用 Scanner 得到 NoSuchElementException?
我正在准备几天后的面试。有人告诉我,我应该熟悉CoderPad,因为这是我将要采访的合作者。然而,当我意识到我无法使用 Scanner 类从 System.in 读取输入时,我正在回答一个问题。
例如,运行以下命令:
给我的信息:
这里发生了什么?
java - Java charset - 如何从 System.in 获得正确的输入?
我在这里的第一篇文章。好吧,我正在构建一个简单的应用程序,用于通过控制台(cmd 和终端)进行消息传递,只是为了学习,但是在阅读和使用字符集编写文本时遇到了问题。
这是我发送消息的初始代码,Main.CHARSET 设置为 UTF-8:
和接收代码:
当我发送“olá”或“ÁàçÇõÉ”(巴西葡萄牙语)之类的东西时,我在 windows cmd 上只有空格(未在 linux 中测试)。
所以我测试了以下代码:
对于输入“olá”,打印“ol”。
问题是,如何读取控制台以便正确读取输入,并可以将其传输给另一个用户并正确显示给他。
java - java 不会使用 Scanner 和 System.in 分解具有多个 double 和 char 变量的用户输入
我希望用户使用以下变量之一输入数学方程:*、/、+、-
输入示例(无空格):2*2、35.7/3、4.5+5.5
然后我想将第一个数字、char 变量和第二个数字分开并将它们存储到单独的变量中。
当我使用此代码时:
我收到此错误/响应:
我真的很想使用这样的东西:
请帮忙,我不知道我做错了什么。
java - Java 中 Scanner.nextLine 的问题
在Java中,我尝试过
Name:
但在要求输入之前它不会输出。
控制台只显示一个空的控制台窗口,我可以在其中输入名称。
Name:
在询问名称之前如何确保已输出?
编辑
java - 为 System.in 设置环境
我正在为运行 RedHat 的服务器设计一个控制台应用程序。最终用户应该能够使用他们选择的任何终端运行此应用程序。(例如;Gnome 终端、Putty SSH/ Telnet、MS Telnet 客户端等)。
在大多数终端应用程序中没有任何问题,但是当我从 MS telnet 会话启动我的程序时,我注意到我的特殊输入System.in
并System.console()
完全搞砸了。退格键将写入^H
屏幕,其他键也会写入乱码。
我已经对它进行了足够的破解,以至于我可以让它始终如一地工作,但我确信我正在做的事情很糟糕:
对于不支持的终端,这里会有问题xterm
吗?我注意到 Microsoft Telnet 客户端不允许您在开始会话之前将TERM
类型设置为。xterm
但是,一旦会话开始,设置TERM=xterm
似乎可以解决问题。
大多数控制台应用程序如何解决这个问题?
java - Java 从 Standard 读取使用 Scanner 给出错误结果
我正在使用netbeans。
我正在尝试使用 Scanner 读取标准输入或参数。但是,每当我尝试显示某些东西时,我都会得到完全不同的东西。
因此,例如,如果预设的命令行参数是“真棒!” 我希望它打印出来太棒了!但是我得到了一些冗长的胡言乱语,例如:
java.util.Scanner[delimiters=\p{javaWhitespace}+][position=0][match valid=false][need input=false][source closed=false][skipped=false][group separator=\,] [小数分隔符=.][正前缀=][负前缀=\Q-\E][正后缀=][负后缀=][NaN字符串=\Q�\E][无穷大字符串=\Q∞\E ]
java - 为 Java 程序编写一个测试用例,该程序在迭代中接受用户输入以获得最终值
下面是一个java程序来猜测汤姆有多少个苹果。如果汤姆的苹果数量比猜测的数量多,汤姆就会打得更高,如果它更少,他就会打低。当猜到的数字正确时,他会回答没有。我的任务是为这个程序编写一个 JUnit 测试用例。由于基于用户输入,猜测的数字要么递减要么递增,直到我们达到实际值,这让我对如何为该程序编写 JUnit 测试用例感到困惑
java - 从缓冲读取器获取空值
我无法理解为什么我在以下代码(输出的第二行)中从 bufferedreader 得到 null,而它在某些地方工作正常(输出的第一行)。
我已经使用了几个 system.out.println 只是为了调试目的。
尽管 BufferedReader.readLine() 仅在到达流的末尾时才返回 null,但正在提供输入(如程序下方的输入所示)。请帮助我了解获取 null 的原因并提出解决方案。
输入
输入的第一行将包含两个空格分隔的整数,表示 N 和 Q。
接下来的 N 行将包含字符串
接下来的 Q 行将包含一个整数或一个表示人名的字符串。必须根据它是aString 还是Integer 来实现不同的逻辑。
输入和输出如下:
java - java system.in 能否在不使用线程的情况下与输入源代码同时工作?
说我的要求是:用户在控制台(来自system.in)中输入一些东西或套接字接收一些东西,继续下一步。
所以我有一台扫描仪
有一个 udp 客户端。(不同的输入源)
我的代码是
显然这段代码是行不通的。因为在检查 sc.hasNext() 时,java 正在等待用户在控制台中输入一些输入。目前我能做的是为 Udp 客户端打开一个线程。如果我改变顺序,
这没有任何意义,因为 receive() 会一直等待 util 接收某些东西,所以它永远不会同时从 system.in 读取。
那么如何在不使用线程的情况下实现我的要求呢?
受@Andriy Kryvtsun 回答的启发,我做了一个快速测试 正如他所说,这在某种程度上使用了非阻塞读取,并不断让套接字超时,以模拟
java - 无法通过 System.in 读取日文字符
代码:
输入:
输入姓名:たなかです</p>
输出: