为什么我的方法的返回不起作用?

时间:2014-06-02 23:48:23

标签: java

我有一个Java课程,我上大学。我应该编写一个程序来获取用户的长度和宽度,并显示矩形的周长。然后,它需要返回该区域。我已经为它编写了源代码,但是我的IDE,Eclipse一直在说我使用了无效方法,因此它无法返回。

以下是源代码:

/** Jason Delgado
 * SPC ID: 2051577
 * This program gets the length and width of a rectangle from the user, displays its perimeter,
 * and returns it area.
 */

package com.delgado;

import javax.swing.JOptionPane; //Gets the JOptionPane class
import java.text.DecimalFormat; //Gets the DecimalFormat class

public class Rectangle {

public static void main(String[] args) {
    double length; // Holds length
    double width; // Holds width
    String input; // Holds input
    double area; // Holds area
    DecimalFormat formatter = new DecimalFormat("#0.00"); // Holds format

    input = JOptionPane.showInputDialog("Enter the length of the rectangle: ");
    length = Double.parseDouble(input);
    input = JOptionPane.showInputDialog("Enter the width of the rectangle: ");
    width = Double.parseDouble(input);
    area = getArea(length, width);

    /** The method getArea() displays the perimeter of a rectangle and returns the area
     * @perm num1 Holds the length
     * @perm num2 Holds the width
     * @return Returns the area of a rectangle
     */

    public static double getArea(double num1, double num2){
        double perimeter; // Holds perimeter
        perimeter = (num1 * 2) + (num2 * 2);
        JOptionPane.showMessageDialog(null, "The perimeter of the rectangle is: " + formatter.format(perimeter));

        return num1 * num2;

    }

}

}

2 个答案:

答案 0 :(得分:1)

编辑由于您已添加了代码,我已编辑了我的答案:

您的getArea方法似乎在您的主要内部。把它移到外面。

public class Rectangle {
    public static void main(String[] args) {
        ....
    }

    public static double getArea(double num1, double num2) {
        ...
    }
}

答案 1 :(得分:0)

方法的语法:

   access_modifier return_type method_name(parameters) {
        ...
        return value_under_that_return_type;
   }

按照以下顺序放置您的方法:

... getArea() {...}

... main() {...}

你不应该嵌套函数。