我是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;
}
答案 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()
数据而构建的