提问人:Dhaval 提问时间:4/16/2023 最后编辑:invzbl3Dhaval 更新时间:5/14/2023 访问量:165
使用 scanner 类,我无法使用 IntelliJ IDE 在控制台上写入文本
Using scanner class I am not able to write text on console using IntelliJ IDE
问:
问题:使用扫描程序类时,我无法使用 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
我所期望的:我应该能够在控制台上写入整数文本。 但是我的程序一直在运行,我需要手动终止它。
请参考下图的输出。
答:
0赞
Basil Bourque
4/16/2023
#1
删除此行:
sc.close();
不要关闭基于 的 。您正在终止对控制台的访问。无法恢复该访问权限。Scanner
System.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=true
restart IDE
例如:
评论