如何控制用户输入的输入提示中的字母数和数字?

时间:2017-01-30 07:42:51

标签: java

我是编程新手,我们得到了第一个任务!我的整个代码工作正常,但这是我的问题:

我们必须提示用户输入一个由2个字母后跟3个数字组成的帐户ID。

到目前为止,我只有一个基本的输入/输出提示

//variables

String myID;

//inputs

System.out.println("Enter your ID:");
myID = input.nextLine();

所以它只是让用户以任何顺序和长度输入他们想要的字母和数字。我不明白如何“控制”用户的输入。

1 个答案:

答案 0 :(得分:1)

正如您所说,您不知道regex,我已编写此代码以while循环进行迭代,并检查每个字符是字母还是数字。提示用户提供帐号,直到输入有效帐号

import java.util.Scanner;

class LinearArray{

    public static void main(String args[]){

        Scanner input = new Scanner(System.in);
        boolean isIdValid = false;
        String myId;

        do{
            System.out.println("account ID that consists of 2 letters followed by 3 digits");           
            myId = input.nextLine();
            //Check if the length is 5
            if (myId.length() == 5) {
                //Check first two letters are character and next three are digits
                if(Character.isAlphabetic(myId.charAt(0))
                && Character.isAlphabetic(myId.charAt(1))
                && Character.isDigit(myId.charAt(2))
                && Character.isDigit(myId.charAt(3))
                && Character.isDigit(myId.charAt(4))) {
                    isIdValid = true;
                }
             }
           }while(!isIdValid);
        }       
    }