你如何检查用户输入是否是单个字符
How do you check if the user input is a single Char
我正在尝试编写一个程序,如果用户输入单个字符,程序会在屏幕上显示 True,否则如果输入多个字符,它会打印 False。
public class FinalExamTakeHome8 {
public static void main(String[] args) {
try (Scanner kbd = new Scanner(System.in)) {
System.out.println("Enter an item");
if (kbd.hasNextInt() || kbd.hasNextChar() || kbd.hasNextDouble()) {
System.out.println("True");
} else {
System.out.println("False");
}
}
}
}
您可以使用 nextLine()
方法来读取用户输入,无论是一个还是多个字符。然后,获取文本后,检查其长度是否等于 1。
public static void main(String[] args) {
try (Scanner kbd = new Scanner(System.in)) {
System.out.println("Enter an item");
String input = kbd.nextLine();
if (input.length() == 1) {
System.out.println("True");
} else {
System.out.println("False");
}
}
}
编辑:出于某种原因,它没有在文本中正确包含 link。我将 link 留给扫描仪文档:
https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#nextLine()
您可以使用scanner.nextLine()
方法获取字符串,然后使用length()
方法测量大小。
String line = kbd.nextLine();
System.out.println(line.length()==1);
因为比较会产生一个布尔值,所以您可以打印它。
没有专门的 API 检查用户是否输入了单个字符,但可以使用正则表达式。我已经对其进行了测试,并且非常适合您的用例。
public static void main(String[] args) {
try (Scanner kbd = new Scanner(System.in)) {
System.out.println("Enter an item");
if (kbd.hasNextInt() || kbd.hasNext("^[a-zA-Z]") || kbd.hasNextDouble()) {
System.out.println("True");
} else {
System.out.println("False");
}
}
}
我正在尝试编写一个程序,如果用户输入单个字符,程序会在屏幕上显示 True,否则如果输入多个字符,它会打印 False。
public class FinalExamTakeHome8 {
public static void main(String[] args) {
try (Scanner kbd = new Scanner(System.in)) {
System.out.println("Enter an item");
if (kbd.hasNextInt() || kbd.hasNextChar() || kbd.hasNextDouble()) {
System.out.println("True");
} else {
System.out.println("False");
}
}
}
}
您可以使用 nextLine()
方法来读取用户输入,无论是一个还是多个字符。然后,获取文本后,检查其长度是否等于 1。
public static void main(String[] args) {
try (Scanner kbd = new Scanner(System.in)) {
System.out.println("Enter an item");
String input = kbd.nextLine();
if (input.length() == 1) {
System.out.println("True");
} else {
System.out.println("False");
}
}
}
编辑:出于某种原因,它没有在文本中正确包含 link。我将 link 留给扫描仪文档:
https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#nextLine()
您可以使用scanner.nextLine()
方法获取字符串,然后使用length()
方法测量大小。
String line = kbd.nextLine();
System.out.println(line.length()==1);
因为比较会产生一个布尔值,所以您可以打印它。
没有专门的 API 检查用户是否输入了单个字符,但可以使用正则表达式。我已经对其进行了测试,并且非常适合您的用例。
public static void main(String[] args) {
try (Scanner kbd = new Scanner(System.in)) {
System.out.println("Enter an item");
if (kbd.hasNextInt() || kbd.hasNext("^[a-zA-Z]") || kbd.hasNextDouble()) {
System.out.println("True");
} else {
System.out.println("False");
}
}
}