我遇到的問題是當我檢查字符串是否包含任何字符時,它只查看第一個字符而不是整個字符串。例如,我希望能夠輸入「123abc」,並且字符被識別,因此失敗。我還需要字符串長度爲11個字符,由於我的程序只能使用1個字符,因此無法繼續。Java - 查看一個字符串是否包含任何字符
這是到目前爲止我的代碼:
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()它,如果我依然輸入「12345」,它仍然只註冊1個字符失敗。我只能輸入「1」才能繼續。
如果有人能解釋一下這是如何工作,我認爲將是巨大的
有關Java中正則表達式的邊界匹配器的進一步閱讀:http://docs.oracle.com/javase/tutorial/essential/regex/bounds.html – Klazen108
謝謝,非常有幫助 – Patch
不客氣,很高興它工作正常爲你而出。 – anubhava