基本上我試圖讓一些while循環檢查字符串中的特定索引。驗證refNum長度的第一個循環正常工作。當它到達更大的while循環時,它只是跳過它,我不知道爲什麼,任何反饋將不勝感激。驗證字符串while循環java沒有正則表達式
package testing_code;
import java.util.Scanner;
/**
*
* @author A.Con
*/
public class Testing_Code
{
public static void main(String[] args)
{
Scanner userInput = new Scanner (System.in);
String refNum;
System.out.println("Enter refNum: example - WE123A");
refNum = userInput.next();
int rnLength = refNum.length();
while(rnLength < 6 || rnLength > 6)
{
System.out.println("Invalid reference number. Try again.\n ");
System.out.println("Please enter reference No.: ");
refNum = userInput.next();
rnLength = refNum.length();
}
while(!(refNum.charAt(0) >= 'A') && !(refNum.charAt(0) <= 'Z') && !(refNum.charAt(1) >= 'A') && !(refNum.charAt(1) <= 'Z'))
{
while(!(refNum.charAt(2) >= '0') && !(refNum.charAt(2) <= '9') && !(refNum.charAt(3) >= '0') && !(refNum.charAt(3) <= '9'))
{
while(!(refNum.charAt(4) >= '0') && !(refNum.charAt(4) <= '9') && !(refNum.charAt(5) >= 'A') && !(refNum.charAt(5) <= 'Z'))
{
System.out.println("Invalid reference number. Try again.\n ");
System.out.println("Please enter reference No.: ");
refNum = userInput.next();
}
}
}
那些內環看起來並不WEEL版本。假設第一個條件爲真,而內部的條件爲假。 'userInput.nezt()'永遠不會被調用。你聽懂了嗎? – Pelocho
爲什麼你不能使用正則表達式?他們在這裏有一個原因。 – Asew
我正在上的課程想要教Java的基礎,所以他們不會教我們直到2年的正則表達式。 –