这是我必须为学校做的作业:
- 创建一个名为 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 ("");
}