如何在自己的方法中创建数组对象



你好,我正在尝试做一个java小课程,它告诉我用一个创建X,Y坐标的类(Point(来制作一个小程序。在第二部分中,它要求我制作所述类的对象的数组。我的尝试是在它自己的类中创建一个方法来创建它,我不知道这是否可能(或有用(,也找不到一种方法将其表达到谷歌上,这给了我一个我能理解的答案。任何能改进我做的小东西的方法都将不胜感激。

import folderPointer.Point;
public class MainFile {
public static void main(String[] args) {
System.out.println("nnn");
Point firstPoint = new Point();
firstPoint.printPoint();
System.out.println("nn");
Point secondPoint[] = secondPoint.fillPArray();
secondPoint = secondPoint.fillPArray();
}
}

edit*错过了我的主

Point secondPoint[] = secondPoint.fillPArray();
secondPoint = secondPoint.fillPArray();

这部分不起作用。

package folderPointer;
import java.util.Random;
public class Point {
private int coordX;
private int coordY;
public Point() {
coordX = 0;
coordY = 0;
}
public Point(int coordX, int coordY) {
this.coordX = coordX;
this.coordY = coordY;
}
public Point(Point o) {
this.coordX = o.coordX;
this.coordY = o.coordY;
}
public void printPoint() {
System.out.println("Coord X: " + this.coordX + ", CoordY:" + this.coordY);
}
public void modifyPoint(int coordX, int coordY) {
this.coordX = coordX;
this.coordY = coordY;
}
private Point[] createPArray() {
Random ran = new Random();
Point[] toReturn = new Point[ran.nextInt(19) + 1];
return toReturn;
}
public Point[] fillPArray() {
Point[] filledPoint = createPArray();
Random randInt = new Random();
for (int i = 0; i < filledPoint.length; i++) {
filledPoint[i].coordX = randInt.nextInt(100);
filledPoint[i].coordY = randInt.nextInt(100);
}
return filledPoint;
}
}

如果你只想创建一个Point对象数组,我发现一个简单的方法是将"Point"类作为内部类,用初始化Point数组

Point[] pointArray = new Point[3];

然后,我做了几个示例点,然后用for循环迭代并打印结果。

import java.util.Random;
public class PointHelp {
public static void main(String[] args) {
Point[] pointArray = new Point[3];
pointArray[0] = new Point(3, 4);
pointArray[1] = new Point(4, 5);
pointArray[2] = new Point(4,7);
for(int i = 0; i < pointArray.length; i++){
pointArray[i].printPoint();
}
}
}
class Point {
private int coordX;
private int coordY;
public Point() {
coordX = 0;
coordY = 0;
}
public Point(int coordX, int coordY) {
this.coordX = coordX;
this.coordY = coordY;
}
public Point(Point o) {
this.coordX = o.coordX;
this.coordY = o.coordY;
}
public void printPoint() {
System.out.println("Coord X: " + this.coordX + ", CoordY:" + this.coordY);
}
public void modifyPoint(int coordX, int coordY) {
this.coordX = coordX;
this.coordY = coordY;
}
private Point[] createPArray() {
Random ran = new Random();
Point[] toReturn = new Point[ran.nextInt(19) + 1];
return toReturn;
}
public Point[] fillPArray() {
Point[] filledPoint = createPArray();
Random randInt = new Random();
for (int i = 0; i < filledPoint.length; i++) {
filledPoint[i].coordX = randInt.nextInt(100);
filledPoint[i].coordY = randInt.nextInt(100);
}
return filledPoint;
}
}

其输出如下:

Coord X: 3, CoordY:4
Coord X: 4, CoordY:5
Coord X: 4, CoordY:7

最新更新