0

まず、私は Java の初心者なので、何か間違った語彙を使用している場合はご容赦ください。

問題は、2 つのクラスを使用していて、コンストラクターに Point x と y 座標の値を保持させることができないことです。いろいろな方法を試しているのですが、なかなか手に入りません。どんな助けでも大歓迎です。

import java.awt.Point;

パブリック クラス FindRoute {

private static boolean randomRoute = false;

/** Driver for the FindRoute project.
 * 
 * @param args an array of four integers containing [x coordinate of car, y coordinate of car, 
 * x coordinate of destination, ycoordinate of destination] 
 */
public static void main(String[] args) 
{
    if (args.length<5)
    {
        System.err.println( "Usage java FindRoute id Xstart Ystart Xend Yend [random]");
        System.exit(1);
    }

    String carId = args[0];
    int xCar = Integer.parseInt(args[1]);
    int yCar = Integer.parseInt(args[2]);
    int xDestination = Integer.parseInt(args[3]);
    int yDestination = Integer.parseInt(args[4]);

    Car car = new Car(new Point(xCar, yCar), carId);

    System.out.println(car);
    car.setDestination(new Point(xDestination, yDestination));
    System.out.println(car);    
    System.out.println("xcar= " + xCar);
    System.out.println("ydest = " + yDestination);

    if (args.length == 6) {
        if (args[5].startsWith("r"))
            car.setRandomRoute(true);


    }
    System.out.println(car);


}

次に、コンストラクターと toString

public Car (Point car, String carID) {

        this.xCar = xCar;
        this.yCar = yCar;
        this.carID= carID;
public String toString() {
        return "Car [id = " + carID + ", location = [x=" + xCar + ", y=" + yCar + "], destination = [x=" + xDestination + ", y=" + yDestination + "]]";

私の出力は文字列を引っ張りますが、車のポイントを 0,0 に設定します。これが間違った質問方法である場合は、ヒントを教えてください。前もって感謝します

4

1 に答える 1

0
public Car (Point car, String carID) {

        this.xCar = xCar;
        this.yCar = yCar;
        this.carID= carID;
}

コンストラクターが間違っています。同じ参照に同じ参照を割り当てています。このようにする必要があります

public Car (Point car, String carID) {
        this.myPoint = car;
        this.carID= carID;
}

また

public Car (Point car, String carID) {
            this.xCar = car.x;
            this.yCar = car.y;
            this.carID= carID;
}
于 2013-07-02T03:00:18.063 に答える