主要的Arraylist麻烦

时间:2015-09-18 03:44:41

标签: java

我是arraylists的新手,我不确定有什么问题,以及如何解决它。这是工作"消费者曲线"那是一个数组。但是"制作人曲线"是一个数组列表。我不知道如何解决这个问题。请帮忙。

ConsumerCurve:

  public ConsumerCurve(int np, double m, double b, int dx)
{
     myConsumerCurve = new Point [np];

    for(int i=0; i<np; i++)
    {
        int x = i*dx;
        double y = m*x+b;
        if(y<0) throw new IllegalArgumentException();
        myConsumerCurve[i] = new Point (x,y);
    }   
}

ProducerCurve:

public ProducerCurve(int np, double m, double b, int dx)
    {

    for(int i=0; i<np; i++)
    {
        int x = i*dx;
        double y = m*x+b;
        if(y<0) throw new IllegalArgumentException();
        ArrayList<Point> myProducerCurve = new Point (x,y);
    }   
    }

另外,我在这里收到错误,说索引无法解析为变量

public ProducerCurve()
    {
      Point x;
      myProducerCurve.add(x);
      myProducerCurve.add(index,x);
    }

最后,我如何向一个arraylist添加一个点,该点首先搜索该点是否已经退出然后起泡呢?

添加():

    public void add(Point p)
{
     myProducerCurve.add(p);
}

searchPoint:

  public int searchPoint(Point p)
{
    for(int index=0; index< myProducerCurve.size(); index++ )
    {
         myProducerCurve.equals(p); 
    }
    return -1;
}

1 个答案:

答案 0 :(得分:3)

错误在这一行:

ArrayList<Point> myProducerCurve = new Point (x,y);

应该是

ArrayList<Point> myProducerCurve = new ArrayList<Point>();
myProducerCurve.add(new Point(x, y));

这是由于Java的类型系统。您尝试将myProducerCurve设置为新的Point,但实际上,该变量是为ArrayList Points

.filter()数据而构建的