gpt4 book ai didi

java - 如何从单独的类java调用方法

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:20:08 24 4
gpt4 key购买 nike

我试图从 Java 中的一个单独的类中调用一个方法,但它似乎不起作用,或者我做错了什么。我想要实现的是将 RacingEvent 类中的 Race 方法调用到我的主程序(检查主程序中的注释)。

这是类:

import java.util.Random;

public class RacingEvent {
private SimpleWindow w;
private RaceTrack track;
private Turtle t1 = new Turtle(w, 200, 400);
private Turtle t2 = new Turtle(w, 300, 400);

public RacingEvent(RaceTrack track, Turtle t1, Turtle t2) {
this.t1 = t1;
this.t2 = t2;
this.track = track;
}

public void Race() {
t1.penDown();
t2.penDown();
Random rand = new Random();

Turtle t1 = new Turtle(w, 200, 400);
Turtle t2 = new Turtle(w, 300, 400);

while (t1.getY() > track.getyFinish() && t2.getY() > track.getyFinish()) {
int turtle1 = rand.nextInt(3);
int turtle2 = rand.nextInt(3);
t1.forward(turtle1);
t2.forward(turtle2);

SimpleWindow.delay(10);
}


int diff1 = t1.getY() - track.getyFinish();
int diff2 = t2.getY() - track.getyFinish();

SimpleWindow w = new SimpleWindow(200, 100, "Winner");

if (t1.getY() <= track.getyFinish()) {
w.moveTo(20, 40);
w.writeText("T1 won with a " + diff2 + " step(s) lead!");
} else if (t2.getY() <= track.getyFinish()) {
w.moveTo(20, 40);
w.writeText("T2 won with a " + diff1 + " step(s) lead!");
}
}
}

这是我需要调用方法的主程序:

public class TurtleRace {
public static void main(String[] args) {
SimpleWindow w = new SimpleWindow(600, 600, "TurtleRace");
int yStart = 400;
int yFinish = 100;

RaceTrack track = new RaceTrack(w, yStart, yFinish);
ColorTurtle t1 = new ColorTurtle(w, 250, yStart, java.awt.Color.RED);
ColorTurtle t2 = new ColorTurtle(w, 350, yStart, java.awt.Color.BLUE);

track.draw(w);
w.waitForMouseClick();

RacingEvent event = new RacingEvent(track, t1, t2);
/*Call Race Method*/
}
}

最佳答案

当你这样做的时候

RacingEvent event = new RacingEvent(track, t1, t2);

您只是在创建和实例化 RacingEvent 类的对象。

尚未进行函数调用。

你应该写这个来调用函数。

event.Race();

希望能解决问题。

关于java - 如何从单独的类java调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13479263/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com