当前位置: 首页 > 知识库问答 >
问题:

扫描仪类(system.in)不工作在android工作室和build.gradle的变化

益绯辞
2023-03-14

我在android studio的扫描仪类上有问题。我在android studio中创建了新的模块,用于编写纯java代码。之后,我想使用Scanner类输入用户的一些元素,但程序产生以下错误。

package org.meicode.lib;
import java.util.*;
public class MyClass {
    public static void main(String []args){
        Scanner In= new Scanner(System.in);
        System.out.println("Enter Your Name Plz: ");
        String Name= In.next();
    }
}

我使用的主要类是Scanner和System.in

Exception in thread "main" java.util.NoSuchElementException
    at java.util.Scanner.throwFor(Scanner.java:862)
    at java.util.Scanner.next(Scanner.java:1371)
    at org.meicode.lib.MyClass.main(MyClass.java:7)

FAILURE: Build failed with an exception.

运行程序后的错误

我在stackoverflow中搜索,看到了这个问题的一些解决方案,比如添加

run { standardInput = System.in }

但是,无论构建如何,它都不起作用。gradle以“任务执行完成”运行。你可以看到我的身材。变化前后的gradle。Lib和MyClass分别是模块和类的名称。

apply plugin: 'java-library'
dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
}

sourceCompatibility = "1.7"
targetCompatibility = "1.7"

在更改之前构建.分级

apply plugin: 'java-library'
apply plugin:'application'
mainClassName = 'MyClass'

run { standardInput = System.in }
dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
}

sourceCompatibility = "1.7"
targetCompatibility = "1.7"

更改后Build.gradle

我真的希望你能帮我克服这个问题。

共有1个答案

秦光启
2023-03-14

我对系统也有同样的问题。不工作。重新启动IDE对我有效。

 类似资料:
  • 我有一个程序,允许用户输入一个数字的学生数量,他们希望分配一个等级。然后,它打印出哪一个学生在总数中(例如6个中的1个),然后提示用户输入他们的名字和分数。 我的分数工作正确,但当最后的消息显示,我不能得到最大名称和第二个最大名称显示任何东西。

  • e、 (g) 此扫描仪工作不正常。但在删除close()后,它可以正常工作。 我想原因是“ystem.in”有问题。 请给我答案。 非常感谢。 )首先在a()中调用input.nextLine(),然后在b()中调用scan.nextInt()。我有错误,如NoSuchElementExcema。

  • 因此,我是一个新的Java程序员,我正试图弄清楚为什么一段代码不能工作。我遇到的问题是“String interests=input.nextLine();”这一行,它跳过了用户的输入并跳转到下一个System.out,所以它只显示“Your Profile...”。在允许用户输入任何数据之前。抱歉,如果这是一个愚蠢的问题,我是很新的!

  • 我有一个简单的Do-While循环,它使用的扫描器功能不正常。代码应该显示一个文本,提示用户输入字符串,用户输入字符串,然后程序再次显示相同的文本,并提示用户输入另一个字符串。 程序所做的是显示正确的消息,用户输入一个字符串,然后提示用户输入一个字符串,但用户输入之前没有文本。用户输入文本后,它就会正常工作。 查看我的代码,我看不出程序有任何理由在不向用户显示文本的情况下提示用户两次输入。

  • 下面是我为制作一个简单游戏而编写的一些基本代码的框架: 代码未按预期工作,例如,以下是代码的预期功能: 但是,再次读取播放行存在问题,这是实际输出: 如您所见,“再次播放”之前再次显示“输入您的姓名”能够接受输入。调试时,playing变量被设置为“”,因此我看不到任何输入,也无法确定正在使用什么。任何帮助都将不胜感激,谢谢!

  • 问题内容: 我试图将我的应用程序中较大且经常使用的部分重构为单独的方法,以使其易于维护。 其中一些方法要求用户输入并进行输入验证,因此我使用了Scanner和System.in,但是当我关闭Scanner时,我也关闭了System.in。 所以我的问题是,我只能通过用CloseShieldInputStream屏蔽System.in来防止System.in关闭,还是应该开始将Scanner传递给方