關於下面的java程序檢查迴文,我不明白爲什麼它必須包含private String pal;
來定義這個類。這是一個設計問題,如果刪除這行代碼會導致任何問題嗎?關於java類定義的設計問題
public class Palindrome {
private String pal;
public Palindrome(String initPal) {
pal = initPal.toUpperCase();
}
public boolean isPalindrome() {
if (pal.length() <= 1) {
return true;
}
char first = pal.charAt(0);
char last = pal.charAt(pal.length()-1);
if (Character.isLetter(first) && Character.isLetter(last)) {
if (first != last) {
return false;
}
else {
Palindrome sub = new Palindrome(pal.substring(1,pal.length()-1));
return sub.isPalindrome();
}
}
else if (!Character.isLetter(first)) {
Palindrome sub = new Palindrome(pal.substring(1));
return sub.isPalindrome();
}
else {
Palindrome sub = new Palindrome(pal.substring(0,pal.length()-1));
return sub.isPalindrome();
}
}
public static void main(String[] args) {
Palindrome p1 = new Palindrome("abcdcba.");
System.out.println(p1.isPalindrome());
}
}
那麼,你的類需要一些字符串屬性,所以調用者設置要分析的字符串,然後,檢查它是否是迴文,是嗎?適當的縮進有助於可視化類別的內容 – Alfabravo 2012-02-28 22:19:21
如果將其刪除,會發生什麼情況:-)只需嘗試一下 – kleopatra 2012-02-29 10:30:45