0

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

  • 创建一个名为 AreaCircle 的新项目
  • 复制 5.2 节中的距离方法
  • 复制练习 4.2 中圆的面积法。更改它以返回该区域,而不是打印它。
  • 为圆创建另一个 area 方法,该方法采用两个点(四个整数参数:x1、x2、y1、y2)并返回一个双精度值。确保两种方法具有相同的名称。由于参数会有所不同,因此执行的参数将取决于传递的参数。在这个新的 area 方法中,调用 distance 方法来获取圆的半径。
    然后调用OTHER(原始)面积方法来获取圆的面积。
  • 您将需要进行一些更改,以免丢失精度编译器错误。
  • 在 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 ("");
}
4

2 回答 2

0

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

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

于 2013-02-25T08:14:34.127 回答
-1

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

于 2013-02-25T08:09:54.813 回答