Java KeyEvent.VK+;int i,是否可以使用Bot输出?
从昨天开始,我在做一个程序,它可以永久保存一个密码,所以它只能使用一次。保存的密码将在以后通过键盘输出打印出来,这就是为什么我想,我从一个数组开始。其他问题中的许多人告诉我,他们会使用ObjectArray或类似的东西。我对Java很陌生,所以我非常感谢您的帮助。顺便说一句,如果你有什么建议,我会很感激的,如果它更深入一点的话。 这是代码Java KeyEvent.VK+;int i,是否可以使用Bot输出?,java,bufferedreader,keyevent,Java,Bufferedreader,Keyevent,从昨天开始,我在做一个程序,它可以永久保存一个密码,所以它只能使用一次。保存的密码将在以后通过键盘输出打印出来,这就是为什么我想,我从一个数组开始。其他问题中的许多人告诉我,他们会使用ObjectArray或类似的东西。我对Java很陌生,所以我非常感谢您的帮助。顺便说一句,如果你有什么建议,我会很感激的,如果它更深入一点的话。 这是代码 Robot bot = new Robot(); BufferedReader dmc = new BufferedReader(new InputStrea
Robot bot = new Robot();
BufferedReader dmc = new BufferedReader(new InputStreamReader(System.in));
System.out.println("How many digits has your Password?");
String digit = dmc.readLine();
int d = Integer.parseInt(digit);
String[] password = new String[d];
System.out.println("Please enter your Password in single letters.");
int i = 0;
while (password[d - 1] == null) {
password[i] = dmc.readLine();
i++;
}
int j = 0;
while(j != d){
password[j] = "KeyEvent.VK_" + password[j];
j++;
}
糟糕的是,这不能正常工作。出于安全原因,您应该避免将密码存储在字符串中。你可以读更多
谢谢,这使它变得简单了一点,但我仍然不能将密码打印为键盘输出,因为它是System.out.println,而不是KeyEvent。你说的“键盘输出”是什么意思。键盘是一个输入设备。我的意思是,对于System.out.println,您只在命令部分写入,这意味着如果您想在另一个线程上写入内容,它没有实际效果。例如,我已经完全编译了这段代码,并启动了一个需要输入密码的程序。对于System.out.Println,它不会写入任何内容,因为它是系统输出。通过KeyEvent,它模拟键盘输入,因此它会写入一些内容。我承认“键盘输出”有点混乱和错误:D
BufferedReader dmc = new BufferedReader(new InputStreamReader(System.in));
System.out.println("How many digits has your Password?");
String digit = dmc.readLine();
int d = Integer.parseInt(digit);
char[] password = new char[d];
System.out.println("Please enter your Password in single letters.");
dmc.read(password);
Stream.of(password).forEach(System.out::println);