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

在IntelliJ IDEA和Gradle上调试时等待用户输入

越昊穹
2023-03-14

我有最简单的Java应用程序,只是工作,如果从命令行执行。但是,如果我想通过IntelliJ IDEA 14终极调试它,System.in.read()部分总是返回-1,而不必输入任何内容:

import java.io.IOException;

public class Main {
    public static void main(String[] args) throws IOException {
        System.out.println("This is a test... Hit [enter] to exit.");
        int cha = System.in.read();
        System.out.println("You hit [enter], exiting...");
    }
}

这是Windows 8.1的某种问题还是与IntelliJ IDEA有关?

更新:我发现这个问题只有在通过Gradle(gradlew run)启动应用程序时才会出现,所以这是一个Gradle问题。这是我的构建。格雷德尔

apply plugin: 'java'
apply plugin: 'application'

sourceCompatibility = 1.7
targetCompatibility = 1.7
version = '1.0'
mainClassName = 'net.frakbot.ws.Main'

repositories {
    mavenCentral()
}

run {
    main = 'net.frakbot.ws.Main'
    standardInput = System.in
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.11'
}

共有2个答案

靳睿
2023-03-14

使用IntelliJ IDEA 14社区版在我的windows 7计算机上运行良好。

赖明煦
2023-03-14

它是Intellij Idea中已知的一个bug:bug描述

编辑:很显然,正如评论中所指出的,自从给出这个答案以来,它已经被修复了,补丁Intellij将于2017年夏天发布。

 类似资料:
  • 问题内容: 我正在尝试制作一个暂停用户输入的简单命令。我认为在Bash脚本中它将很有用。 这是我的代码: 它甚至不会暂停供用户输入。 我之前尝试过使用getch()(ncurses)。发生的是,屏幕变黑了,当我按下一个键时,它又回到了原来的屏幕上,我看到了: 这是我想要的。但是我想要的只是DOS / Windows 中的命令(我使用Linux)。 问题答案: 从GNU C库手册: 函数:char

  • 我正在编写一个棋盘游戏,我需要检查玩家正在移动的敌人并提示进行攻击。但是,由于游戏是如何制作的,移动方法是在JavaFX应用程序线程上调用的,我希望能够提示用户是否要与敌人战斗。 我的对话框工作正常,使用等待和通知,在主线程上不工作,会导致程序崩溃,有人知道如何暂停这个线程的执行,直到用户单击其中一个按钮。 我为描述道歉,太晚了。 检查敌人的方法该方法检查敌人,如果用户选择是,则返回敌人。它运行在

  • 问题内容: 因此,大约一个星期前,我开始学习Java,我正在编写的一个小程序遇到一些问题,这些程序是我为使用swing和oop / java进行训练而编写的。 该程序(到目前为止)具有MainClass和Window类。MainClass创建Window类的实例,该实例创建JFrame并将用户输入保存在field中。 此时,MainClass将输出输出,这是通过getters方法获得的。 问题在于

  • 我想暂停在JavaFX应用程序线程上执行方法并等待用户与UI交互。不要冻结UI很重要。 例子: 我应该如何实现< code>pause()和< code>resume()方法?< br >事件处理程序的执行应在< code>pause()处等待;调用,直到用户按下< code>resume按钮并且调用< code>resume方法。

  • 问题内容: 我必须为计算机科学课做一个项目。问题是: 图书馆的顾客最多可以借三本书。因此,一个顾客有一个名字和最多三本书。一本书有作者和书名。设计并实现两个类,分别是Patron和Book,以表示这些对象和以下行为: 客户可以实例化带有标题和作者的书 客户可以检查但不能修改书名或作者 客户可以向顾客询问是否借用了给定的书(按书名识别)。 客户可以告诉顾客退还给定的书(按书名识别)。 客户可以告诉顾

  • 我正在尝试为我的频道制作IRC机器人。我希望机器人能够从控制台接收命令。为了让主循环等待用户输入内容,我添加了循环: 这似乎不起作用。我听说过BufferedReader,但我从未使用过,也不确定这是否能解决我的问题。