2011-03-02 31 views
2

我想返回我的數組的值加上遞歸調用的返回值。Java說這個方法有一個構造函數名

但是由於某些原因,java不想在構造函數之後擁有方法名稱。

此外,當我試圖將該方法轉換爲另一種方法時,我得到錯誤,當我使用isPalindrome。

我改變我的程序,但我仍然收到錯誤。


public class isPalindrome 
{ 
    /** 
    * This is the main entry point for the application 
    * @return 
    */ 
    public static boolean main(String[] args) 
    {

String[] word = {"KayaK", "Desserts, I stressed"}; boolean isPalindrome(String[] array, String s, String i) { if(i.charAt(0) == s.charAt(0)) { System.out.println("You entered a Palindrome"); return true; } else { System.out.println("You didn't entered a Palindrome"); } } try { System.in.read(); } catch (Throwable t) { } }

}

+0

陣列應該表示什麼?主要你使用s作爲字符串數組,但isPalindrome似乎並沒有使用String數組作爲任何東西。 – 2011-03-02 03:48:09

+0

這可能會有所幫助 - http://www.juggbread.com/2014/06/warning-this-method-has-constructor-name.html – 2014-08-28 17:47:09

回答

10

你不能使用類名作爲名稱的方法。唯一可以與類共享名稱的「方法」是構造函數。

一個修復方法是將您的班級從isPalindrome重命名爲PalindromeFinder或其他東西。這也會更好地符合Java命名約定。

編輯:請注意,你從來沒有實際上在主要調用你的方法;您嘗試將一個局部變量分配給isPalindrome。這實際上並沒有調用該方法。您需要用isPalindrome(...put your parameters here...)調用該方法,並將結果存儲在名稱未被使用的變量中。

另請注意,一個方法只能返回單個值(單個基元或單個對象)。如果你真的想返回一個數組和一個布爾值(並且我不確定你做了什麼),你將不得不將它們存儲在一個對象中並返回該對象。

+0

+1 - 按照Java命名約定將會完全避免這個「問題」/ – 2011-03-02 03:36:14

+0

我明白taht,但我將如何返回我的數組 – lonesarah 2011-03-02 03:39:40

+0

返回isPalindrome(數組,s.substring(1,s.length() - 1));是問題 – lonesarah 2011-03-02 03:41:55

0

在java中,您不能使用類的名稱作爲變量名稱。該錯誤告訴你,只有類的構造方法可能具有相同的類名,並且構造函數不能返回int(它不會返回任何內容)。

+0

我明白taht,但我將如何返回我的數組 – lonesarah 2011-03-02 03:43:41

0

我建議重命名類迴文或PalindromeHelper

+0

我明白,但我將如何返回我的數組 – lonesarah 2011-03-02 03:49:13

+0

使返回類型'boolean []'而不是'boolean'我猜,但我不確定有關參數方法。 – 2011-03-02 03:51:45

0

,但我將如何恢復我的數組

return isPalindrome(array, s.substring(1, s.length()-1));的問題。

  1. 書面,沒有什麼實際創建要返回數組。提示:return new String[]...return陣列在哪裏?

  2. 沒有任何修改array,所以沒有意義返回它。

  3. 你可以......如果有道理......修改作爲參數傳遞的數組。

  4. 如果你確實想從isPalindrome返回一個數組,你不能*也返回truefalse。一個方法只能有一個聲明的返回類型,而你的代碼似乎「需要」兩個;即String[]boolean。不能這樣做。

* OK,你可以...通過聲明的返回類型爲Object。但是,這使得調用者的生活變得困難,並且會是非常糟糕的設計。

相關問題