在击键方面我还是比较新的。当我将字符转换为整数然后尝试使用robot对其进行按键操作时,它不会打印出小写字母,而是将大写字母打印为小写字母。
我尝试通过将输入更改为全大写(使用toUpperCase)来运行代码,该方法可以正常工作,但是代码不会打印出大写字母。
import java.awt.Robot;
import java.util.Scanner;
import java.util.concurrent.TimeUnit;
public class typeWriter {
public static void main(String[] args) throws InterruptedException {
Scanner scan=new Scanner(System.in);
try {
String text6 = scan.nextLine();
String text = text6.toUpperCase();
char[] text1 = text.toCharArray();
Robot robot = new Robot();
int[] Charkey= new int[text1.length];
TimeUnit.SECONDS.sleep(scan.nextInt());
for(int i = 0; i<text1.length; i++) {
Charkey[i]=(int) text1[i];
}
for(int y = 0; y<text1.length; y++) {
robot.keyPress(Charkey[y]);
robot.keyRelease(Charkey[y]);
}
} catch (AWTException e) {
}
}
}
当我输入“ Hello”时,我希望它键入“ Hello”,但改为键入“ h5 /”(不带toUpperCase修饰符)。如果我将字符串更改为all-caps,它将打印出正确的单词,但全部以小写字母显示。我该怎么办?
答案 0 :(得分:1)
我有点找到答案了。对于那些有相同问题的人,这可能不是最佳方法,也不是最有效的方法,但是我用原始值组成了第二个数组,并且在for循环中添加了一个if语句,说明是否设置了原始值。该特定索引中的值介于65到90之间,将刺激换档键和实际键的按下。