Как можно ввести символ на Java с клавиатуры?Чтение одного символа в Java
ответ
Вы можете либо просмотреть всю строку:
Scanner s = new Scanner(System.in);
String str = s.nextLine();
Или вы можете прочитать один char
, учитывая вы знаете, какую кодировку вы имеете дело с:
char c = (char) System.in.read();
'char c = (char) System.in.read();' (выдача байта из системного кодирования в UTF-16) будет работать, только если символы имеют одинаковые значения в обоих кодировках; это обычно работает только для очень небольшого диапазона символов. Использование «Сканера» является более надежным. – McDowell
@McDowell - без сомнения. –
'System.in.read()' может блокироваться до тех пор, пока пользователь не наберет возврат каретки (по крайней мере, в Windows) –
Может быть, вы могли бы попробовать это код:
import java.io.*;
public class Test
{
public static void main(String[] args)
{
try
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String userInput = in.readLine();
System.out.println("\n\nUser entered -> " + userInput);
}
catch(IOException e)
{
System.out.println("IOException has been caught");
}
}
}
Для этого вы можете использовать Scanner
. Пока не ясно, что ваши точные требования, но вот пример, который должен быть иллюстративным:
Scanner sc = new Scanner(System.in).useDelimiter("\\s*");
while (!sc.hasNext("z")) {
char ch = sc.next().charAt(0);
System.out.print("[" + ch + "] ");
}
Если вы даете этот вход:
123 a b c x y z
Выход есть:
[1] [2] [3] [a] [b] [c] [x] [y]
Так что здесь происходит, что Scanner
использует \s*
как разделитель, который является регулярным выражением для «нулевых или более пробельных символов». Это пропускает пробелы и т. Д. На входе, поэтому вы получаете только символы без пробелов, по одному за раз.
Вы можете использовать сканер как так:
Scanner s= new Scanner(System.in);
char x = s.next().charAt(0);
С помощью функции Шара Вы можете получить значение первого символа без использования внешнего литья.
я нашел этот способ работал хорошо:
{
char [] a;
String temp;
Scanner keyboard = new Scanner(System.in);
System.out.println("please give the first integer :");
temp=keyboard.next();
a=temp.toCharArray();
}
вы также можете получить индивидуальные один с String.charAt()
- 1. чтение одного символа в java
- 2. Чтение одного символа из файла в python?
- 3. Чтение одного символа из файла fstream?
- 4. Чтение ввода одного символа за раз
- 5. Чтение странного символа юникода в Java?
- 6. Чтение турецкого символа из Excel в Java
- 7. Чтение символа новой строки в java
- 8. Замена одного символа на другой в java
- 9. Баш: чтение текста из строки одного символа в то время
- 10. Чтение одного символа UTF8 из потока в C#
- 11. Чтение массива символов, одного символа за один раз
- 12. Чтение одного символа за раз из большой строки
- 13. Чтение из файла до определенного символа в java
- 14. Пропуск символа в java
- 15. Смещение символа из одного места в другое в java
- 16. замена одного символа в sed
- 17. Преобразование одного символа в строку?
- 18. Сканирование одного символа в c
- 19. Замена одного символа в строке
- 20. Добавление одного символа строки
- 21. Замена одного символа строки
- 22. изменение одного символа файла
- 23. Обновление одного символа строки
- 24. шифрование одного символа
- 25. Заменить несколько вхождений одного символа с разными символами в Java
- 26. Java - печать одного символа в то время, используя рекурсию
- 27. Странная сортировка при написании одного символа в java
- 28. Изменить цвет символа одного заполнителя?
- 29. serialport чтение каждого символа отдельно
- 30. Чтение символа экрана с терминала
Дублирование? - http://stackoverflow.com/questions/811851/how-do-i-read-input-character-by-character-in-java –
Почему вы начинаете каждое имя вопроса с «вопроса о»? Это избыточно. –