Ответ 1
Вы можете сканировать всю строку:
Scanner s = new Scanner(System.in);
String str = s.nextLine();
Или вы можете прочитать один char
, если вы знаете, с какой кодировкой вы имеете дело:
char c = (char) System.in.read();
Как можно ввести char в Java с клавиатуры?
Вы можете сканировать всю строку:
Scanner s = new Scanner(System.in);
String str = s.nextLine();
Или вы можете прочитать один char
, если вы знаете, с какой кодировкой вы имеете дело:
char c = (char) System.in.read();
Вы можете использовать Scanner так:
Scanner s= new Scanner(System.in);
char x = s.next().charAt(0);
Используя функцию charAt, вы можете получить значение первого char без использования внешнего каста.
Для этого вы можете использовать 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*
как разделитель, который является регулярным выражением для "нулевых или более пробельных символов". Это пропускает пробелы и т.д. На входе, поэтому вы получаете только символы без пробелов, по одному за раз.
Я нашел, что этот способ работал хорошо:
{
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()
.... char ch; ... ч = scan.next() Шар (0). , , Это простой способ получить характер.
Возможно, вы можете попробовать этот код:
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");
}
}
}