如果String仅包含所需字符,请检查。如果否 - 从扫描仪输入新的字符串

时间:2014-07-07 11:12:39

标签: java regex while-loop matcher

用户在控制台中输入一个字符串。

Scanner sc = new Scanner
sc.nextLine();

此字符串应仅包含符号A,B,C,D,F(可能是这样的:AAABCCDDD

  • 如果字符串包含至少1个错误(不是A,B,C,D,F)字符 - > 用户应该重新输入此字符串
  • 如果字符串正确 - >该计划 应该停止

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以使用do .. while循环:

public class Test {
   public static void main(String[] args) {
      String s;
      do {
        System.out.println("Eingabe: ");
        Scanner sc = new Scanner(System.in);
        s =sc.nextLine();
      }while (checkInput(s));
    }

    public static boolean checkInput(String s){
      if (s.matches("[ABCDE]+")){
        return false;
      }
      return true;
    }
}