gpt4 book ai didi

java - 基本Scanner用法中的java.util.NoSuchElementException

转载 作者:行者123 更新时间:2023-12-01 23:08:36 24 4
gpt4 key购买 nike

我想在项目中使用Scanner来接受用户的输入。它给出了相同的错误,所以我创建了另一个项目以仅尝试使用Scanner,但它仍然给出此错误。

我在stackoverflow中寻找已解决的问题,但它们比我的要大,所以可能是由它们的代码引起的NoSuchElementException。我的意思是简单的Scanner代码不奇怪吗?扫描器教程中使用了更简单的代码。我在做错小事吗?这里是:

package deneme;
import java.util.Scanner;

public class Main {


public static void main(String[] args) {

Scanner input = new Scanner(System.in);
int number1 = input.nextInt();

}

}


NetBeans的输出是:

JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"
cd /home/frogwine/NetBeansProjects/deneme; /home/frogwine/.gradle/wrapper/dists/gradle-4.10.2-bin/cghg6c4gf4vkiutgsab8yrnwv/gradle-4.10.2/bin/gradle --configure-on-demand -x check run
Configuration on demand is an incubating feature.
> Task :compileJava UP-TO-DATE
> Task :processResources NO-SOURCE
> Task :classes UP-TO-DATE

> Task :run FAILED
Exception in thread "main" java.util.NoSuchElementException
at java.base/java.util.Scanner.throwFor(Scanner.java:937)
at java.base/java.util.Scanner.next(Scanner.java:1594)
at java.base/java.util.Scanner.nextInt(Scanner.java:2258)
at java.base/java.util.Scanner.nextInt(Scanner.java:2212)
at deneme.Main.main(Main.java:20)

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':run'.
> Process 'command '/usr/lib/jvm/java-11-openjdk-amd64/bin/java'' finished with non-zero exit value 1

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 1s
2 actionable tasks: 1 executed, 1 up-to-date


我的NetBeans信息是:

Product Version: Apache NetBeans IDE 11.0 (Build incubator-netbeans-release-404-on-20190319)
Updates: Updates available
Java: 11.0.4; OpenJDK 64-Bit Server VM 11.0.4+11-post-Debian-1deb10u1
Runtime: OpenJDK Runtime Environment 11.0.4+11-post-Debian-1deb10u1
System: Linux version 4.19.0-6-amd64 running on amd64; UTF-8; en_US (nb)
User directory: /home/frogwine/.netbeans/11.0
Cache directory: /home/frogwine/.cache/netbeans/11.0

最佳答案

我可以在NetBeans 11.1上重现您的问题,不幸的是,这是一个已知问题。请参阅以下NetBeans错误报告:


NETBEANS-2832 Support System input into Gradle output window.
NETBEANS-3073 Can't get Console input with Gradle project


这两个错误均标有Status: RESOLVED,因为此问题的修复程序将包含在NetBeans的下一版本11.2中,该版本暂定于本月晚些时候发布。

如果您需要立即的解决方案,有两种解决方法:


从命令行而不是在NetBeans中运行应用程序。正如您在对自己的问题的评论中指出的那样,此方法很好用。因此,您的代码或NetBeans显然没有任何问题。问题在于在NetBeans中实现Gradle对程序输入的支持。失败的输出显示要从命令行运行的命令,因此为了方便起见,只需复制并粘贴它们即可。
下载并安装NetBeans 11.2的Beta版。例如,文件netbeans-11.2-beta2-bin.zip from here。我尝试了一下,输入数字54321,然后显示在NetBeans中读取的值,一切工作正常:


JAVA_HOME =“ C:\ Java \ jdk-11” cd D:\ NB112 \ gradleproject1;
C:\ Users \ johndoe.gradle \ wrapper \ dists \ gradle-4.10.2-
bin \ cghg6c4gf4vkiutgsab8yrnwv \ gradle-4.10.2 \ bin \ gradle
--configure-on-demand -x检查运行按需配置是一个孵化功能。


任务:compileJava UP-TO-DATE
任务:processResources NO-SOURCE
任务:更新日期54321

任务:运行编号1 = 54321


在13秒内成功建立2项可执行任务:1项已执行,1项最新



作为单独但相关的问题,请注意,您还需要在build.gradle文件中包括以下内容:

run{
standardInput = System.in
}


因此,请确保添加您项目的build.gradle(如果尚未存在)。 See this SO answer for more information on that

关于java - 基本Scanner用法中的java.util.NoSuchElementException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58386709/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com