NetBeans运行含Scanner的Java项目报processResources NO-SOURCE错误如何解决
问题根源
你看到的processResources NO-SOURCE不是错误,是Gradle构建的正常提示,代表当前项目没有额外的资源文件需要处理,无需关注。
真正触发构建失败的是java.util.NoSuchElementException异常:NetBeans默认使用Gradle运行项目时,没有开启交互式标准输入流,Scanner尝试读取输入时获取不到内容,就会抛出该异常。Android Studio默认开启了终端输入支持,所以同一份代码可以正常运行;删除读取输入的两行代码后程序不需要读入外部内容,自然也不会报错。
修复方案
方案1:修改Gradle运行配置(永久生效)
- 打开项目根目录下的
build.gradle文件 - 在文件末尾添加如下配置:
run { standardInput = System.in }
- 保存文件后重新运行项目,输出栏即可正常接收你输入的内容。
方案2:直接运行主类(临时适用)
不需要修改配置,直接在项目文件树里右键Main.java主类,选择「运行文件」即可,这种运行方式默认开启交互输入支持,可正常使用Scanner读取输入。
代码优化提示
你当前代码中使用nextInt()读取成绩后会在输入流残留换行符,如果后续需要调用nextLine()读取内容会出现读空的问题,建议每次调用nextInt()后额外加一行s.nextLine()消费掉残留的换行符,避免后续出现隐性问题。
内容的提问来源于stack exchange,提问作者The Maestro
相关产品推荐
相关产品推荐

