所以我要做的是撰寫代碼來檢查兩個 String 型別的實際引數中的任何一個是否包含兩個非法字符之一,如果是,則拋出一個例外,說明它是兩個字符中的哪一個以及它所在的索引。我能想到的唯一方法是創建一堆 if 陳述句,以檢查每個案例:
if (firstName.contains("!") || firstName.contains(":") || lastName.contains("!") || lastName.contains(":")){
if (firstName.contains("!"))
throw new BadCharException('!', firstName.indexOf('!'));
if (firstName.contains(":"))
throw new BadCharException(':', firstName.indexOf(':'));
if (lastName.contains("!"))
throw new BadCharException('!', lastName.indexOf('!'));
if (lastName.contains(":"))
throw new BadCharException(':', lastName.indexOf(':'));
有沒有更清潔、更好或更有效的方法來解決這個問題?
uj5u.com熱心網友回復:
這是一種更清潔的方法:
char[] unwantedChars = {'!', ':'};
for(char character: unwantedChars) {
if(firstName.contains(character))
throw new BadCharException(character, firstName.indexOf(character));
if(lastName.contains(character))
throw new BadCharException(character, lastName.indexOf(character));
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/426240.html
