【问题标题】:Calling one method into another将一种方法调用到另一种方法中
【发布时间】:2013-02-10 03:01:33
【问题描述】:

这是我必须为学校做的作业:

  • 创建一个名为 AreaCircle 的新项目
  • 从5.2节复制距离方法
  • 从练习 4.2 中复制圆的面积法。更改它以返回该区域,而不是 而不是打印出来。
  • 为圆创建另一个面积方法,该方法采用两个点(四个整数参数:x1、x2、y1、y2)并返回一个双精度值。确保两种方法具有相同的名称。由于 参数会有所不同,执行的将取决于参数 通过了。在这个新的 area 方法中,调用 distance 方法来获取圆的半径。
    然后调用OTHER(原始)area方法获取圆的面积。
  • 您需要进行一些更改,以免丢失精度编译器错误。
  • 在 main 中,提示用户输入四个整数,分别代表圆外的一个点和圆的中心点(这些将用于查找半径的长度)。调用适当的区域方法。显示结果。

我不确定我的代码是否正确,但显然有问题,因为它不起作用...

public static void main(String[] args) {
    Scanner reader;
    reader = new Scanner (System.in);
    System.out.println("Please enter the coordinates of a circle:");
    newLine();
    System.out.println("Outside point:");
    newLine();
    System.out.println("x1:");
    int x1 = reader.nextInt();
    newLine();
    System.out.println("y1:");
    int y1 = reader.nextInt();
    newLine();
    System.out.println("Center Point:");
    newLine();
    System.out.println("x2:");
    int x2 = reader.nextInt();
    newLine();
    System.out.println("y2:");
    int y2 = reader.nextInt();
}

public static void area(double radius, int x1, int x2, int y1, int y2)
{
    double areaCircle = (Math.PI * area(x1, x2, y1, y2) * area(x1, x2, y1, y2));
}

public static double area(int x1, int x2, int y1, int y2) {
   double radius = distance (x1, y1, x2, y2);
   return radius;
}

public static double distance(int x1, int y1, int x2, int y2) 
{
    double dx = x2 - x1;
    double dy = y2 - y1;
    double dsquared = dx*dx + dy*dy;
    double result = Math.sqrt (dsquared);
    return result;
}

//NewLine Method
public static void newLine () {
    System.out.println ("");
}

【问题讨论】:

  • area(x1, x2, y1, y2) * area(x1, x2, y1, y2) 更改为Math.pow(area(x1, x2, y1, y2), 2,这样就不必对其进行两次评估。此外,永远不会调用 area 函数。此外,它可能需要返回areaCircle。此外,不需要 2 个区域函数。
  • 你不能是认真的......请解释'不工作'。预期产出与实际产出?这些指令是否将精度损失称为编译器错误?这是一个运行时错误,而不是编译器错误。
  • 听着,我在 2 年前问过这个问题,当时我还在读高中,刚学编程。请原谅我对这件事缺乏了解。不过,很高兴您觉得有必要投入两分钱。

标签: java variables methods call area


【解决方案1】:

如前所述,您的代码永远不会调用任何计算方法,这意味着它们永远不会运行并且永远不会计算面积等。也没有显示结果的代码。

此外,area 方法甚至不返回任何内容,这意味着它会计算值然后将其丢弃。

【讨论】:

    【解决方案2】:

    您的main 没有调用任何其他方法!。先完成代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-18
      • 2011-07-05
      • 2020-06-18
      • 2017-03-19
      • 1970-01-01
      • 1970-01-01
      • 2017-10-30
      • 2018-04-08
      相关资源
      最近更新 更多