我遇到的问题是当我检查字符串是否包含任何字符时,它只查看第一个字符而不是整个字符串。例如,我想输入“123abc”,并且字符被识别为失败。我还需要将字符串长度限制为11个字符,但由于我的程序仅使用1个字符,因此无法继续运行。
这是我目前的代码:
例如,如果我去掉检查phoneNumber.length()的代码,它仍然只能识别1个字符,因此如果我输入"12345",它仍然会失败。我只能输入"1"才能使程序继续运行。
如果有人能够解释一下这是如何工作的,那就太好了。
这是我目前的代码:
public static int phoneNumber(int a)
{
while (invalidinput)
{
phoneNumber[a] = myScanner.nextLine();
if (phoneNumber[a].matches("[0-9+]") && phoneNumber[a].length() == 11 )
{
System.out.println("Continue");
invalidinput = false;
}
else
{
System.out.print("Please enter a valid phone number: ");
}
}
return 0;
}
例如,如果我去掉检查phoneNumber.length()的代码,它仍然只能识别1个字符,因此如果我输入"12345",它仍然会失败。我只能输入"1"才能使程序继续运行。
如果有人能够解释一下这是如何工作的,那就太好了。