如何在Java中使用ArrayList?
我是一个新的尝试学习编程和java的人,我目前正在一个程序中工作,但我需要帮助启动它,如果有人能帮助我,我将非常感激 我必须实现一个包含Point2D.Double对象数组列表的类 Double类定义了一个以双精度指定的点,表示x,y坐标空间中的位置。例如,Point2D.Double2.5,3.1在坐标2.5,3.1处构造并初始化一个点 我将使用这些声明作为我实验室工作的起点如何在Java中使用ArrayList?,java,arraylist,Java,Arraylist,我是一个新的尝试学习编程和java的人,我目前正在一个程序中工作,但我需要帮助启动它,如果有人能帮助我,我将非常感激 我必须实现一个包含Point2D.Double对象数组列表的类 Double类定义了一个以双精度指定的点,表示x,y坐标空间中的位置。例如,Point2D.Double2.5,3.1在坐标2.5,3.1处构造并初始化一个点 我将使用这些声明作为我实验室工作的起点 import java.awt.geom.*; // for Point2D.Double import ja
import java.awt.geom.*; // for Point2D.Double
import java.util.ArrayList; // for ArrayList
public class IrregularPolygon {
private ArrayList <Point2D.Double> myPolygon;
// constructors
public IrregularPolygon() { }
// public methods
public void add(Point2D.Double aPoint) { }
public double perimeter() { }
public double area() { }
}
我想了解一些关于如何编写计算多边形周长和面积的方法的技巧。计算周长,计算相邻点之间的距离,并合计距离。带角多边形的面积是绝对值:我建议使用Math.hypopoint1.getX-point2.getX,point1.getY-point2.getY表示到相邻点的距离。对于周长,正如您所述,求和所有距离,不要忘记添加从最后一点到第一点的距离。有关此区域,请参见。我希望您能发现此示例对您有所帮助:
import java.awt.geom.*;
import java.util.ArrayList;
public class IrregularPolygon {
private ArrayList<Point2D.Double> myPolygon;
// constructors
public IrregularPolygon() {
this.myPolygon = new ArrayList<Point2D.Double>();
}
// public methods
public void add(Point2D.Double aPoint) {
this.myPolygon.add(aPoint);
}
public double perimeter() {
// compute perimeter
return 0;
}
public double area() {
// compute area
return 0;
}
@Override
public String toString() {
String result = "IrregularPolygon [";
for (Point2D.Double point : myPolygon) {
result += "|X: " + point.x + ". Y: " + point.y + "|";
}
result += "]";
return result;
}
public static void main(String[] args) {
IrregularPolygon irregularPolygon = new IrregularPolygon();
Point2D.Double point1 = new Point2D.Double(0, 2);
Point2D.Double point2 = new Point2D.Double(2, 4);
Point2D.Double point3 = new Point2D.Double(3, 5);
irregularPolygon.add(point1);
irregularPolygon.add(point2);
irregularPolygon.add(point3);
System.out.println(irregularPolygon.toString());
}
}
您可以在toString方法以及add方法中找到如何在Java中使用ArrayList,因此方法Permiture和area的实现只取决于您拥有的规范。您只需要外推该方法来完成该类
希望能有帮助
克莱门西奥·莫拉莱斯·卢卡斯。到目前为止,这就是我所拥有的:
import java.awt.geom.*;
import java.util.ArrayList;
public class IrregularPolygon {
private ArrayList <Point2D.Double> myPolygon;
public IrregularPolygon()
{
myPolygon = new ArrayList < Point2D.Double > ();
}
public void add(Point2D.Double aPoint)
{
myPolygon.add(aPoint);
}
public void print()
{
for (Object element : myPolygon)
{
System.out.println(element);
}
}
public double distance(Point2D pt)
{
double distance = 0;
x.distance(y);
return distance;
}
public double perimeter()
{
double distance = 0;
for(int x = 0; x < aPoint; x++){ // cords given in groups might have to / by 2
get.point();
if(myPolygon[] != null){
get.nextPoint();
}
else{
distance += thePoint.distance(nextPoint)
}
}
return distance;
}
public double area()
{
double area = 0;
return area;
}
}
//that's irregular polygon. this is polygon application
import javax.swing.*;
import java.awt.geom.Point2D;
public class PolygonApplication
{
public static void main() {
String userInput;
int pointNumber = 1;
Point2D.Double nextPoint;
IrregularPolygon myPolygon = new IrregularPolygon();
do {
userInput = JOptionPane.showInputDialog("Enter x coordinate for point " + pointNumber);
if (userInput != null) {
double x = Double.parseDouble(userInput);
userInput = JOptionPane.showInputDialog("Enter y coordinate for point " +
pointNumber);
if (userInput != null) {
double y = Double.parseDouble(userInput);
nextPoint = new Point2D.Double(x,y);
myPolygon.add(nextPoint);
pointNumber += 1;
}
}
}
while (userInput != null);
myPolygon.print();
}
}
嗯,你知道周长和面积是多少吗?从周长开始-这是最简单的。你能遍历点列表吗?你试过什么?我用我到目前为止所做的评论