java - 如何检查和验证字符串索引的多个字符?

标签 java while-loop do-while

我不会撒谎,这是我在大学里正在做的一个项目。现在,特定部分要求用户输入有关注册号码的详细信息,该号码的长度需要为 11 个字符。索引中的字符(8)和(10)必须是字母,其余字符必须是数字。如果用户输入了错误的字符,需要要求用户重新输入,直到正确为止。我对我觉得应该是非常简单的事情感到很多麻烦,但我却没有看到。这是我到目前为止所尝试过的(请注意,这段代码非常糟糕,并且使用了非常基本的 java 函数,因为我们在我的类(class)中没有学到更多的东西)

    String regiNum;
    boolean validRegi = true;

    System.out.print("Enter registration num: ");
    regiNum = keyboard.nextLine();

    char firstChar = regiNum.charAt(8), secChar = regiNum.charAt(10);
    while(validRegi == true){
        if(!(firstChar >= 'A' && firstChar <= 'z' && secChar >= 'A' && secChar <= 'z')){
            System.out.print("Enter registration num again: ");
            regiNum = keyboard.nextLine();
            validRegi = false;
        }
    }

我什至还没有抽出时间来检查其他字符的验证以确定它们是否是数字。什么最适合?也许是一个 do while 循环?对于这个极其愚蠢的问题表示歉意。

最佳答案

最简单的方法是使用 for 循环并一一检查字符是否有效。你可以尝试这样的事情:

boolean isValid(String regiNum) {
   //check if length is 11, return false if not
   for(int i=0;i<11;i++) {
      if(i==8 || i==10) {
       //check if its letter, return false if not
      }else{
       //check if its a number, return false if not
      }
   }
   return true;
}

关于java - 如何检查和验证字符串索引的多个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41523600/

相关文章:

java - 如何从Java while循环中获取变量?

C 编程 : How to calculate Pi to 4th decimal place?

java - 如何在Java中的while循环中添加多个语句的总和

java - 在 Java 中从 PDF 生成 PCL

java - 使用 Java 打开 Microsoft Word docx 文件

java - 重新启动 quartz 调度程序而不会出错

PHP:我只能使用这个函数一次(在 while 循环中使用)

c - Do-while 循环 - 终止条件有什么问题?

c - 当我为 & records[*Count].source 输入值时,.exe 崩溃

java - AsyncTask下载的文件为0B