Я нашел еще одно сообщение, в котором говорится, что Console.readPassword() не должен сделайте это, поэтому я дважды проверил свой код, сделал простой пример и все равно обнаружил то же поведение. Я также попробовал запустить тот же код в другой среде, а именно в терминале Intellij, и обнаружил, что он ведет себя по-другому. Powershell по-прежнему настаивает на добавлении строки, а терминал Intellij — нет, и я не знаю почему. Код, который я выполнил вместе с результатами, приведен ниже. В обоих примерах я ввел abcd в качестве пароля и нажал Enter.
Scratch.java
Код: Выделить всё
import java.io.Console;
public class Scratch {
public static void main(String[] args)
{
Console console = System.console();
char[] password = console.readPassword("Enter password: ");
System.out.println("new line");
}
}
Код: Выделить всё
Enter password:
new line
Код: Выделить всё
Enter password:
new line
Подробнее здесь: https://stackoverflow.com/questions/785 ... ing-a-line
Мобильная версия