java - 程序无法识别我创建的方法

标签 java arrays object

我是初学者,所以我的代码相当粗糙。我创建了 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/

相关文章:

java - 如何在 Eclipse 插件中为文本字段添加自动完成功能?

java - 可编辑的 JComboBox

java - 如何区分安装的java - JDK还是JRE

javascript - 将 map 转换为数组 - Javascript

javascript - 如何列出元素,包括值(value)、名称、面额?

java - Spring框架-如何将目录作为资源注入(inject)?

javascript - 循环遍历数组内的数组以确定值

java - 我是在改变一个对象还是该对象的副本?

python - 从 Python 列表中选择类(插件)

java - 使用不同的实现调用相同的方法签名