Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用robot.keyPress键入随机字符的循环_Java_Keypress_Awtrobot - Fatal编程技术网

Java 使用robot.keyPress键入随机字符的循环

Java 使用robot.keyPress键入随机字符的循环,java,keypress,awtrobot,Java,Keypress,Awtrobot,我想用robot.keyPress写一个随机字符 到目前为止,我已经打开了记事本,在里面写下并保存了它。如果我在循环中运行此程序,它将始终使用相同的名称保存记事本,从而替换上一个记事本 我想通过在保存多个记事本之前键入一个随机字母来保存多个记事本(具有不同的名称)。要让Robot以快速而肮脏的方式执行随机按键,您需要首先列出可接受的KeyEvent常量(a-zA-Z0-9等),假设您将该列表放在一起: int[]keys=newint[]{KeyEvent.VK_A,KeyEvent.VK_B,

我想用robot.keyPress写一个随机字符

到目前为止,我已经打开了记事本,在里面写下并保存了它。如果我在循环中运行此程序,它将始终使用相同的名称保存记事本,从而替换上一个记事本


我想通过在保存多个记事本之前键入一个随机字母来保存多个记事本(具有不同的名称)。

要让
Robot
以快速而肮脏的方式执行随机按键,您需要首先列出可接受的KeyEvent常量(a-zA-Z0-9等),假设您将该列表放在一起:

int[]keys=newint[]{KeyEvent.VK_A,KeyEvent.VK_B,…};//您的KeyEvent字符常量列表在这里,根据需要进行调整。
//如果需要超过1个随机字符,请在此处启动可选循环
int randomValue=ThreadLocalRandom.current().nextInt(0,keys.length);
Robot.keyPress(键[随机值]);

根据您的需要进行调整。

这个问题与java.awt.robot无关,更多的是关于随机值生成。一个简单的解决方案可能是这样的

Random rnd = new Random();
int key = KeyEvent.VK_UNDEFINED;
while (key < KeyEvent.VK_A || key > KeyEvent.VK_Z) {
    key = rnd.nextInt();
}
robot.keyPress(key);

你问题的背景有点不清楚;你是否在与物理机器人合作,并希望让一个机器人在物理键盘上随机按下一个键?或者你只是想通过软件向文件中添加一个随机字符?对不起。我只是在测试机器人。单独指挥。我正在尝试将随机字符添加到文件中。添加到文件的内容或名称中?我只需要多次保存具有相同内容的文件。我可以通过使用不同的名称保存它来实现这一点。然而,为了用不同的名称保存它,每次它经过时,我都必须循环键入不同的字符。
Random rnd = new Random();
final int range = (KeyEvent.VK_Z + 1) - KeyEvent.VK_A;
int key = Math.abs(rnd.nextInt()) % range;
robot.keyPress(key);