繁体   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