📜  如何在java中只接受数字和空格(1)

📅  最后修改于: 2023-12-03 14:52:45.419000             🧑  作者: Mango

如何在Java中只接受数字和空格

在Java中,我们可以使用正则表达式来限制输入的字符类型。下面的代码片段演示了如何只允许数字和空格的输入。

import java.util.Scanner;

public class InputValidationExample {
  public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    String input;

    do {
      System.out.print("Please enter a string with only numbers and spaces: ");
      input = scanner.nextLine();
    } while (!isValid(input, "[\\d\\s]+"));

    System.out.println("Input is valid!");
  }

  private static boolean isValid(String input, String regex) {
    return input.matches(regex);
  }
}

在这个例子中,我们使用Scanner类来获取用户输入。然后我们使用do-while循环来强制要求用户只输入数字和空格的字符串。该循环将一直运行,直到用户输入的字符串是有效的。

在isValid()方法中,我们使用Java的字符串.matches()方法来检查字符串是否与正则表达式匹配。正则表达式[\d\s]+只包含数字和空格。如果字符串与模式匹配,则返回true,否则返回false。

结论

使用正则表达式是在Java中限制输入字符类型的一种简单方法。通过使用正则表达式,我们可以轻松地控制输入的内容类型,并确保输入的内容符合要求。