我试图将一个双变量从一个方法调用到另一个方法

时间:2014-02-05 20:10:49

标签: java variables methods call

如何在不在类中创建私有变量的情况下将length和width变量调用到getArea方法中,我这样做的方法是在方法运行一次之后再次运行该方法。我真的不喜欢这种方式,但这就是教授希望它在“面向对象编程”之前模拟时间的方式

/*This program allows the user to enter the length and widtch and receive the area
 of the rectangle*/

 import java.util.Scanner;

public class theRectangleCompany
{
  public static void main(String[] args)
  {
    System.out.print("This program will find an area of a Rectangle ");
    getLength();
    getWidth();
    getArea();
  }

  public static double getLength()
  {
    double length;
    Scanner keyboard = new Scanner(System.in);
    System.out.print("Please enter the length ");
    length = keyboard.nextDouble();
    return length;
  }

  public static double  getWidth()
  {
     double width;
     Scanner keyboard = new Scanner(System.in);
     System.out.print("Please enter the width ");
     width = keyboard.nextDouble();
     return width;
  }

  public static void getArea()
    {
      double length = getLength();
      double width = getWidth();
      double area = width * length;
      System.out.println("The area of the Rectangle is: " +area);

    }


}

4 个答案:

答案 0 :(得分:5)

为什么要从main方法调用getLength()和getWidth()。只需调用getArea()

即可
public static void main(String[] args)
  {
    System.out.print("This program will find an area of a Rectangle ");
    getArea();
  }

答案 1 :(得分:1)

您可以使getArea函数获取参数,并使用函数调用其他两个函数作为参数:

getArea(getLength(), getWidth());

public static void getArea(double length, double width) { ... }

答案 2 :(得分:0)

更改在此处:

/*This program allows the user to enter the length and widtch and receive the area
 of the rectangle*/

 import java.util.Scanner;

public class theRectangleCompany
{
  public static void main(String[] args)
  {
    System.out.print("This program will find an area of a Rectangle ");    
    getArea();
  }

  public static double getLength()
  {
    double length;
    Scanner keyboard = new Scanner(System.in);
    System.out.print("Please enter the length ");
    length = keyboard.nextDouble();
    return length;
  }

  public static double  getWidth()
  {
     double width;
     Scanner keyboard = new Scanner(System.in);
     System.out.print("Please enter the width ");
     width = keyboard.nextDouble();
     return width;
  }

  public static void getArea()
    {
      double length = getLength();
      double width = getWidth();
      double area = (width * length);
      System.out.println("The area of the Rectangle is: " +area);

    }


}

答案 3 :(得分:0)

不确定这是否是您想要的:

public static void getArea()
{
  System.out.println("The area of the Rectangle is: " + (getLength() * getWidth()));
}

您还需要更改main方法以排除getLength()和getWidth():

public static void main(String[] args)
{
  System.out.print("This program will find an area of a Rectangle ");
  getArea();
}

以上的变体类似于

public static void main(String[] args)
{
  System.out.print("This program will find an area of a Rectangle ");
  getArea(getLength(),getWidth());
}

public static void getArea(double length, double width)
{
  System.out.println("The area of the Rectangle is: " + (length * width));
}