java - 限制用户输入+循环

标签 java java.util.scanner

我想做的事:

  • 限制用户输入仅限字母(小写和大写)
  • 输入错误时出现错误消息
  • 循环直到输入正确

很多有类似问题的网站都建议使用正则表达式、模式和匹配器。我查看了 API,它让我很困惑......

这是我尝试过的。

public class restrictinput {
    public static void main (String args [] ) {
        Scanner sc = new Scanner (in);
        System.out.println ("Enter  blah ");
        String blah = sc.nextLine();
        Pattern userInput = Pattern.compile("^[a-zA-Z]+$");
        Matcher inputCheck = userInput.matcher("blah");
    }
}

这可以编译,但我不确定这是否是正确/最好的方法。但是,如果我输入不同的字符类型,它只会执行其余的代码。

如何仅在收到正确的字符类型时才执行它,以及我应该使用什么来让用户知道错误?

如果给出的代码有误,我应该如何更改?

最佳答案

这看起来像是家庭作业,所以我不想透露太多,但你想看看 if statement以及 whilefor循环。如果满足某些条件,这将有条件地执行代码。

关于java - 限制用户输入+循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10603792/

相关文章:

java - PBEKeySpec C++ 模拟

java - 我需要使用扫描仪和 JFIleChooser 计算文件中子字符串出现的次数

java - 字符串 while 循环

java - 如何从文件中只读取整数?

java - 当 foo 由类 ArrayList 而不是接口(interface) List 表示时,使用 foo 不是更容易吗?

java - Java中多个类可以序列化同一个对象吗?

java - 使用扫描仪选择特定文本

java - 小java程序打印不可见的换行符?

Java 全部替换,每出现两次就替换一次

java - AWS Java SDK 2.0 仅获取 s3 对象元