使用 scanner 类,我无法使用 IntelliJ IDE 在控制台上写入文本

Using scanner class I am not able to write text on console using IntelliJ IDE

提问人:Dhaval 提问时间:4/16/2023 最后编辑:invzbl3Dhaval 更新时间:5/14/2023 访问量:165

问:

问题:使用扫描程序类时,我无法使用 IntelliJ IDE 在控制台上写入文本。 输出:我的程序继续运行,我需要手动终止它。

项目结构:Maven 附加信息:使用 TetNG

下面的文件是在SRC文件夹下创建的。 BasicPrograms.Java

public class BasicPrograms { 
public void takeInpFrmUser() {


        Scanner sc = new Scanner(System.in);
        System.out.println("Please enter the number");
        int num = sc.nextInt();
        System.out.println("User has entered= " + num);
        sc.close();


    }
}

下面的文件是在TEST文件夹下创建的。 UserInput.Java(用户输入.Java)

import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

public class UserInput {
    BasicPrograms basicObj;

    @BeforeClass
    public void createObj() {
        basicObj = new BasicPrograms();
    }

    @Test
    public void verifyUserInput() {
        basicObj.takeInpFrmUser();
    }

}

我是一个初学者,任何试图自己学习java的人。任何帮助将不胜感激。非常感谢:)

我尝试过什么:引用的 java 文档

 https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html

我所期望的:我应该能够在控制台上写入整数文本。 但是我的程序一直在运行,我需要手动终止它。

请参考下图的输出。

enter image description here

Java Intellij-idea java.util.scanner 用户输入

评论


答:

0赞 Basil Bourque 4/16/2023 #1

删除此行:

sc.close();

不要关闭基于 的 。您正在终止对控制台的访问。无法恢复该访问权限。ScannerSystem.in

否则,你的代码是好的。查看代码在 Ideone.com 运行

评论

0赞 Dhaval 4/16/2023
谢谢先生的及时回复,但先生,我仍然面临同样的问题。在控制台上,当我点击“Enter”时,它说“此视图是只读的”。
0赞 Basil Bourque 4/16/2023
@Dhaval 那么你还有其他问题没有在这里披露。点击链接 Ideone.com。我复制粘贴了您的代码,没有更改。效果很好。
0赞 Dhaval 4/16/2023
是的。我已经检查过了。不用担心。我会尝试找到答案,将在这里添加。非常感谢先生。
0赞 shmily 4/16/2023 #2

首先,打开IDE(),help -> edit custom VM options

然后输入下一个代码和 .-Deditable.java.test.console=truerestart IDE

例如:

enter image description here example