我是初学者,所以我的代码相当粗糙。我创建了 Squares 的对象类。在我的主程序中,我创建了一个正方形数组,每个正方形都有一个不同长度的正方形。我也可以制作数组并打印出每个元素。
我正在尝试创建一种方法,将数组中所有正方形的面积组合起来,然后返回一个圆角边的长度,从而得到总面积的平方。
该方法的部分代码:
public int totalArea(Square[] s)
{
int arraylength=s.length;
int area_total=0;
int area_ind=0;
double side_new=0;
int side_real=0;
for (int i = 0; i < arraylength; i++)
{
area_ind=s[i].area();
area_total+=area_ind;
}
side_new= Math.sqrt(area_total);
side_real= (int)(side_new);
return side_real;
}
这是实际“主”文件的代码:
public class as5_apprun
{
public static void main(String[] args)
{
Square[] original=
{
new Square(),
new Square(1,new Point (0,0)),
new Square(2,new Point (0,0)),
new Square(3,new Point (0,0)),
new Square(4,new Point (0,0)),
new Square(5,new Point (0,0))
};
这是错误:
int total= totalArea(original);
This fails giving the error
int total= totalArea(original);
^
symbol: method totalArea(Square[])
location: class as5_apprun
1 error
更新:问题已在评论中解决
最佳答案
您将 totalArea
作为 Square
的实例方法,但它仅对正方形数组进行操作。
您应该将其声明为public static int TotalArea(Square[] s)
并将其引用为int total= Square.totalArea(original);
假设totalArea位于Square.java
内。
关于java - 程序无法识别我创建的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23097176/