返回时出错

时间:2014-07-08 10:39:41

标签: java swing

我正在尝试输入对话框,如果输入的数字大于10,则应该打印一条特殊的消息。所以我插入了return,但后来我收到了这个错误:unexpected return value

以下是代码:

import javax.swing.JOptionPane;

    public class Program extends JFrame {
        public static void main(String[] args) throws IOException {
            int number= Integer.parseInt(JOptionPane.showInputDialog("Enter a number:"));
            if(number> 10)
                return System.out.println("The number must be less that 10");
            else
                System.out.println("...");
        }
    }

抱歉我的英语不好。

5 个答案:

答案 0 :(得分:2)

您应该做的是在错误流上打印错误消息,并使用错误代码退出,如下所示:

public class Program extends JFrame {
    public static void main(String[] args) throws IOException {
        int number= Integer.parseInt(JOptionPane.showInputDialog("Enter a number:"));
        if(number> 10) {
            System.err.println("The number must be less that 10");
            System.exit(1);
        } else {
            System.out.println("...");
        }
    }
}

答案 1 :(得分:1)

你错误地理解了return concept

由于main方法的返回类型为void,因此不会有return

 if(number> 10)
                System.out.println("The number must be less that 10");
            else
                System.out.println("...");

您只是打印到控制台。因此,不需要return声明。

作为旁注,{}

始终使用if -else

答案 2 :(得分:1)

这里有两个核心错误:

  • main是一种void方法,因此您无法从中返回任何内容
  • System.out.println是一种无效方法,因此无论如何都无法返回

完全删除return位并只打印您想要的结果,或者将其作为单独的String方法并返回结果而不是打印它。如果您希望程序在输入错误后终止,只需添加一个简单的单独返回:

if(number> 10) {
    System.out.println("The number must be less that 10");
    return;
}
else //..and so on

答案 3 :(得分:1)

这里你试图从void方法返回一个值(即public static void main(String [] args),这是完全无效的。 我想你完全考虑其他类,然后从包含main方法的其他类中调用方法。

答案 4 :(得分:0)

主方法是无效的,它不能返回任何东西,也不应该返回。

只需删除"返回"关键字,并保留print语句。