为什么击键数字不能使用小写字母?
Why aren't keystroke numbers working with lowercase alphabet?
我对击键还是比较陌生。当我将字符转换为整数然后尝试使用机器人按键时,它不会打印出小写字母,而是将大写字母打印为小写字母。
我通过将输入更改为全大写(使用 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 修饰符)。如果我将字符串更改为全部大写,它会打印出正确的单词,但全部为小写。我该怎么办?
我有点找到答案了。对于那些有同样问题的人,这可能不是最好也不是最有效的方法,但我制作了一个由原始值组成的第二个数组,并在 for 循环中我添加了一个 if 语句,说明原始集合是否为此特定索引中的值介于 65 和 90 之间,它将刺激 shift 键按下和实际按键。
我对击键还是比较陌生。当我将字符转换为整数然后尝试使用机器人按键时,它不会打印出小写字母,而是将大写字母打印为小写字母。
我通过将输入更改为全大写(使用 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 修饰符)。如果我将字符串更改为全部大写,它会打印出正确的单词,但全部为小写。我该怎么办?
我有点找到答案了。对于那些有同样问题的人,这可能不是最好也不是最有效的方法,但我制作了一个由原始值组成的第二个数组,并在 for 循环中我添加了一个 if 语句,说明原始集合是否为此特定索引中的值介于 65 和 90 之间,它将刺激 shift 键按下和实际按键。