簡體   English   中英

Java抱怨方法聲明無效,需要返回類型

[英]Java complains about invalid method declaration, return type required

它用於JOptionPane YES_NO_CANCEL_OPTION我執行以下方法:

public NewCard()
    {
        int ans = JOptionPane.showConfirmDialog(null, "Do you wish another card?", "7 in 1", JOptionPane.YES_NO_CANCEL_OPTION );
        if (ans == JOptionPane.YES_OPTION)
        {
            ans = 1;
        }

        if (ans == JOptionPane.NO_OPTION)
        {
            ans = 2;
        }

        if (resp == JOptionPane.CANCEL_OPTION)
        {
            ans = 3;
        }
        return ans;
    }

我想從主要閱讀此答案,但出現語法錯誤。 它說: Invalid method declaration; return type required Invalid method declaration; return type required但是我嘗試在所有if語句中編寫一個返回值,並得到相同的錯誤。

您必須在函數聲明中具有返回類型

您的函數返回一個int ,因此:

public int NewCard() {

看到那里的int

如果您不想返回任何內容,請使用void

這確實應該是評論,但我需要格式化。

重用ans之類的變量時需要小心。

以下常量的值是:

JOptionPane.YES_OPTION = 0;
JOptionPane.NO_OPTION = 1;
JOptionPane.CANCEL_OPTION = 2;

您可以像對3 if語句進行編碼一樣輕松地在ans中添加1。

您編寫代碼的方式:

    if (ans == JOptionPane.YES_OPTION)
    {
        ans = 1;
    }

    if (ans == JOptionPane.NO_OPTION)
    {
        ans = 2;
    }

    if (resp == JOptionPane.CANCEL_OPTION)
    {
        ans = 3;
    }

如果ans = 0(YES選項),則在第一個if中將其設置為1。

然后ans(您的ans,而不是原始的ans)= 1(NO選項)。

如果第三則發生相同的情況。

因此,如果用戶單擊是按鈕,則返回3。如果用戶單擊否按鈕,則返回3。取消按鈕相同。 您返回3。

可以使用兩個不同的變量,將第二個和第三個if更改為else if,或者僅將1加到ans。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM