Java 如何控制用户在输入提示中输入多少字母和数字?
我是编程新手,我们被分配了第一个任务!我的整个代码运行良好,但我的问题是: 我们必须提示用户输入由2个字母和3个数字组成的帐户ID 到目前为止,我只有一个基本的输入/输出提示Java 如何控制用户在输入提示中输入多少字母和数字?,java,Java,我是编程新手,我们被分配了第一个任务!我的整个代码运行良好,但我的问题是: 我们必须提示用户输入由2个字母和3个数字组成的帐户ID 到目前为止,我只有一个基本的输入/输出提示 //variables String myID; //inputs System.out.println("Enter your ID:"); myID = input.nextLine(); 因此,它所做的一切就是让用户输入他们想要的字母和数字的数量,以任意顺序和长度。我更不明白如何“控制”用户的输入 正如您所说
//variables
String myID;
//inputs
System.out.println("Enter your ID:");
myID = input.nextLine();
因此,它所做的一切就是让用户输入他们想要的字母和数字的数量,以任意顺序和长度。我更不明白如何“控制”用户的输入 正如您所说,您不知道
regex
,我编写此代码是为了在的同时循环并检查每个字符是字母还是数字。系统将提示用户提供帐号,直到输入有效帐号
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);
}
}
您无法控制用户的输入。您可以控制程序的响应方式。[有人把它做成一张激励海报。]检查输入是否有效的方法是使用regex@shmosel哦,这更有道理。我该怎么做?我们没有学习循环或尝试catch语句yet@shmosel我试图理解如何思考逻辑through@SmolCoder那么你还没有做过正则表达式?您不应该多次重新创建扫描仪
;在循环之前只创建一次。此外,您不需要isIdValid
变量。您可以改为使用do
-while
循环,如do{…}while(myId.length()==5&&Character.isAlphabetic(myId.charAt(0))&&&&……)对不起,我把条件搞错了。它应该是相反的:do{…}while(!(myId.length()==5&&Character.isAlphabetic(myId.charAt(0))&&&&……)
@ChaiT.Rex是的,我刚刚创建了一个扫描仪,并将while
更改为do while
。让条件保持原样以提高可读性哇!我的老师确实简短地谈到了布尔语,但我不知道如何使用它。当我今天醒来的时候,我正在考虑在我的代码中使用布尔值。所以你可以把方法放在其他方法里面?我也不知道我们有isAlphabetic和isDigit,我以为它只有int和char,为什么在上面的if语句中写isIdValid=true;?为什么不是趁现在(isIdValid)?