不會撒謊,這是我在大學工作的一個項目。現在,特定部分需要來自用戶的輸入來提供關於需要長度爲11個字符的regestration編號的細節。索引上的字符(8)和(10)需要是字母,其餘的則需要是數字。如果用戶輸入了錯誤的字符,則需要再次輸入,直到輸入正確。我感到非常麻煩,我覺得應該是非常容易的事情,我只是沒有看到。下面是我玩的周圍到目前爲止(請注意這個代碼是殘暴和使用非常基本的Java功能,因爲我們還沒有學會任何比這更多的在我的課程)如何檢查和驗證字符串索引的多個字符?
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;
}
}
我還沒有得到檢查其他字符的驗證以確定它們是否是數字。什麼會最適合?也許做一個while循環?對於這個令人難以置信的愚蠢問題抱歉。
可能不是最優雅的解決方案,但'string.matches(「\\ d \\ d \\ d \\ d \\ d \\ d \\ d [a-zA-Z] \\ d [a-zA-Z] \\ d「)'應該可以工作:P – Moira
我不認爲正則表達式對這個問題是一個有用的解決方案--Daniel說他在做基本的Java,並用while循環。這可能是他的項目預計要做的。 – DaveyDaveDave