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

我想制作一个程序来限制我通过扫描仪输入字符串的时间

颜修明
2023-03-14
Robot robot = new Robot();

TimerTask task = new TimerTask()
{
    public void run()
    {
        robot.keyPress(KeyEvent.VK_ENTER);
        System.out.println( "time out. exit..." );

    }
};

Timer timer = new Timer();

timer.schedule( task, 10*1000 );

Scanner sc = new Scanner(System.in);
String in = sc.nextLine();

timer.cancel();

System.out.println(in);    

我在想,当时间限制达到10秒时,我怎么能不按回车键就输入“回车”。

所以我将输入尽可能多的字符,直到时间结束。我想将该字符串保存为“in”

我刚刚发现Robot类可以按enter键,但我认为我使用它的方式不正确。

共有1个答案

常宸
2023-03-14

我认为您的解决方案是正确的,您只需在方法之外定义任务:

private static String str = "";

static TimerTask task = new TimerTask() {
    public void run() {
        Robot robot;
        try {
            robot = new Robot();
            robot.keyPress(KeyEvent.VK_ENTER);
        } catch (AWTException e) {
            System.err.println("Error while pressing enter - " + e);
        }
    }
};

public static void main(String[] args) throws IOException {

    Timer timer = new Timer();
    timer.schedule(task, 10 * 1000);

    System.out.println("Input a string within 10 seconds: ");
    BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    str = in.readLine();

    timer.cancel();
    System.out.println("you have entered: " + str);

}
 类似资料:
  • 我创建了一个简单的扫描器,用于计算中的字符串数。txt文件。每个字符串位于下一行。它算错了,每次它给我数字297,甚至有超过20000个字符串。这个txt文件是由我编写的另一个程序创建的,它从网站获取链接,并使用FileWriter和BufferedWriter将其保存到。txt文件。可能有什么问题? 编辑:字符串示例:

  • 我有以下3种方法: > 方法:获取文本并将其单词拆分为特定字符串,然后将其放入字符串数组中。 方法:计算数组中仅由大小写字母组成的字符串的数量。 现在问题来了,如果我调用第三个方法首先通过生成一个文本。 但不知怎么的,代码只是跳过了行text=input.nextLine();并抛出异常(MSG)字符串为空。执行文本“Enter a text:”,后面直接跟着异常。但我无法输入任何文本。 如果我将

  • 问题内容: 我试图找到一种方法来从键盘输入。 我尝试使用: 该方法不存在。 我尝试了作为。但是,它并不总是在每种情况下都可行,因为我从我的方法中调用的另一个方法需要作为输入。因此,我必须找到一种显式将char作为输入的方法。 有什么帮助吗? 问题答案: 你可以从中提取第一个字符: 消耗正好一个字符,你可以使用: 要严格使用一个字符,可以使用:

  • 问题内容: 我正在编写一个使用Event类的程序,该类中有一个日历实例和一个String类型的描述。创建事件的方法使用扫描仪获取月,日,年,小时,分钟和说明。我遇到的问题是Scanner.next()方法仅返回空格之前的第一个单词。因此,如果输入为“我的生日”,则该事件实例的描述就是“我的”。 我做了一些研究,发现人们使用Scanner.nextLine()解决此问题,但是当我尝试这样做时,它只是

  • 问题内容: 我正在尝试做的是拥有多个具有不同变量的输入。每个变量将是不同方程式的一部分。我正在寻找一种方法来做,我想我有一个主意。我只想知道这是否合法,也许还有更好的方法。 问题答案: 如果每个输入都问相同的问题,则应使用循环和输入数组: 或者如Chip所建议的,您可以从一行中解析输入: 您在正确的轨道上,所做的工作正常。这只是一种更好,更灵活的处理方式。

  • 我正试图用Java中的扫描器将一个字符串分成另外两个字符串。好像不起作用。我只能通过谷歌找到扫描仪用来读取控制台输入的例子。我从扫描仪的手册中找出了我做事情的方式,我不确定我错了什么。 第一个和第二个是空白的,我不知道为什么。