Я пишу java-программу, которая запускает цикл и продолжает запрашивать у пользователя ввод. Затем программа выполняет кучу вещей со строкой и запрашивает другую строку и повторяет.
Проблема в том, что многие строки очень похожи, поэтому я хотел бы заполнить приглашение вводом из последнего раза в цикле. Например: если пользователь вводит значение следующим образом:
Enter the SKU Number: APE-6603/A
... Затем в следующий раз, когда он запросит SKU, он будет ждать, пока пользователь нажимает кнопку ввода, как обычно, но будьте готовы с последним значением до того, как пользователь даже наберет что-нибудь:
Enter the SKU Number: APE-6603/A
... И пользователь может сделать простые изменения очень быстро, как заменить /A на /B и нажать enter! Если строка, содержащая пользовательский ввод, называется "lookFor", есть ли способ заполнить приглашение этим значением в Java? Было бы очень полезно!
Благодарю!
После обсуждения этой идеи с несколькими людьми, кажется, что я хочу, это невозможно. Способ ввода слишком прост, чтобы что-то подобное.
Мои единственные возможные решения включают в себя не выполнение этого из моей среды IDE. Я могу либо выбрать использовать мое приложение, либо изменить приложение в апплет на основе графического интерфейса. Запуск с консоли откроет опцию "Нажать вверх", как это было предложено rchirino, и с помощью графического интерфейса позволит ввести введенное значение для редактирования позже.
Если кто-то хочет сделать то, что я написал выше, ответ будет "Java can not do it!". Сожалею. :)
Возможно, вы захотите попробовать что-то вроде этого:
public String promptandgetWithShowDefault(String prompt, String supplied) {
String prmpt = prompt + " (press Enter for \"" + supplied + "\"):";
String tmpch = null;
System.out.print(prmpt);
tmpch = scanner.nextLine().trim();
if (tmpch == null || tmpch.equals("")) {
return supplied;
} else {
return tmpch;
}
}
Думаю, я понимаю, что вы хотите сделать, но это довольно просто. Если ваша программа является консольным приложением (командной строки), которое я предполагаю, вам просто нужно нажать клавишу ВВЕРХ, чтобы заполнить приглашение последними введенными символами.
Если вы работаете с элементами GUI, вы можете проверить документацию API для определенного класса объекта, который вы используете, и проверить его.
Надеюсь это поможет!