2011-03-02 22 views
1

你好,我試圖做一個程序,檢查一個單詞的第一個字母,看它是否等於最後一個字母。我的java編譯正常,但什麼都沒顯示

public class isPalindrome 
{ 
    public static void main(String[] args) 
    { 
     // Create an array of strings to test. 
     String[] testStrings = { "Able was I ere I saw Elba", 
           "Rats live on no evil star", 
           "Four score and seven years ago", 
           "Barrack Obama", 
           "Now is the time for all good men", 
           "Desserts I stressed", 
           "Ask not what your country can do for you", 
           "Kayak", 
           "Vegeta", 
           "A Man, A Plan, a canal, Panama!"}; 

     for (int i = 0; i < testStrings.length; i++) 
     { 
     System.out.print("\"" + testStrings[i] + "\""); 
     if (Palindrome(stripString(testStrings[i]))) 
      System.out.println(" is a palindrome."); 
     else 
      System.out.println(" is not a palindrome."); 
     } 
    } 


    public static String stripString(String strip) 
    { 
     strip = strip.toUpperCase(); 
     String stripped= ""; 
     for (int i= 0; i< strip.length(); i++) 
     { 
      if (Character.isLetter(strip.charAt(i))) 

       stripped += strip.charAt(i); 
     } 
     return stripped; 
    } 


    public static boolean Palindrome(String str) 
    { 
     boolean status = false; 

     if (str.length() <= 1) 
     status = true; 
     else if (str.charAt(0) == str.charAt(str.length()-1))//Recursive Case 
     {  
     status = Palindrome (str.substring (1, str.length()-1)); 
     } 
     return status; 
    } 
} 
+3

真的什麼都沒有?至少從for循環的東西應該打印... – BoltClock 2011-03-02 08:05:04

+0

這看起來很好,我的程序終止?還是它在某個地方陷入了無限循環? – Argote 2011-03-02 08:06:56

+0

這就是我在想什麼? – lonesarah 2011-03-02 08:07:06

回答

3

我的Java編譯罰款,但不顯示任何內容。

是它:

#~/temp$ javac isPalindrome.java 
#~/temp$ java isPalindrome 
"Able was I ere I saw Elba" is a palindrome. 
"Rats live on no evil star" is a palindrome. 
"Four score and seven years ago" is not a palindrome. 
"Barrack Obama" is not a palindrome. 
"Now is the time for all good men" is not a palindrome. 
"Desserts I stressed" is a palindrome. 
"Ask not what your country can do for you" is not a palindrome. 
"Kayak" is a palindrome. 
"Vegeta" is not a palindrome. 
"A Man, A Plan, a canal, Panama!" is a palindrome. 

難道你不編譯它運行後呢?該命令編譯它:

javac isPalindrome.java

,然後這一次運行它:

java isPalindrome

編輯:或者您可能需要:

java -cp . isPalindrome

...告訴Java看用於當前目錄中的類。 (我不知道在我的大部分未定製的Java安裝,但你曾經有,所以......)


題外話:這是什麼問題做的,但是:在Java中,編碼約定(您可以自由忽略)是類名以大寫字母開頭,方法名以小寫字母開頭。所以課程將是IsPalindrome(或PalindromeTester或其他),然後方法Palindrome將是isPalindrome或類似。如果你使用慣例,與其他人一起工作會更容易,因爲你不會將他們與不尋常的事物命名混淆。 :-)

+0

我不明白你是如何得到這個? – lonesarah 2011-03-02 08:09:54

+0

@user:我在最後添加了一個註釋 - 它可能是編譯它,你不運行它嗎? – 2011-03-02 08:11:36

+0

@user:他發佈了他使用的命令。 – 2011-03-02 08:11:44

相關問題