使用扫描仪类我无法使用 IntelliJ IDE 在控制台上编写文本

问题描述 投票:0回答:2

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

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

以下文件是在src文件夹下创建的。 基本程序.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 文件夹下创建的。 用户输入.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 doc

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

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

请参考下图输出。

enter image description here

java intellij-idea java.util.scanner user-input
2个回答
0
投票

删除这一行:

sc.close();

不要关闭基于

Scanner
System.in
。您正在终止对控制台的访问。该访问权限无法恢复。

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


0
投票

首先,打开IDE(

help -> edit custom VM options
),

然后输入下一个代码

-Deditable.java.test.console=true
restart IDE
.

例如:

© www.soinside.com 2019 - 2024. All rights reserved.