Solicita el código JAVA de la Tortuga y la Liebre
importar java.applet.Applet
importar java.awt.BorderLayout
importar java.awt.Graphics; p>importar java.awt.List;
importar java.awt.event.MouseEvent;
importar java.awt.event.p> int distancia;
int velocidad;
int tiempo de sueño;
int longitud;
Nombre de cadena;
TestThread hilo de prueba;
booleano primero = verdadero;
public void run() {
while (distancia < longitud) {
distancia += velocidad;
if(distancia > longitud)
distancia = longitud;
if(name.equals("Tortuga")){
testthread.turtleint = distancia ;
}else{
testthread.rabbitint = distancia;
System.out.println("rabit: " + testthread.rabitint + "\ntutle: " + testthread.turtleint);
if(name.turtleint);
}
testthread.repaint();
probar {
dormir(hora de dormir);
} captura (InterruptedException e) {
}
}
if(first){
testthread.reaint();
}
}
}
RunningAnimal (Prueba TestThread, String aname, int alldistance, int aspeed, int sleeptime) {
nombre = aname;
longitud = alldistance;
velocidad = aspeed;
tiempo de dormir = tiempo de dormir
distancia = 0;
hilo de prueba = prueba
}
}
la clase pública TestThread extiende el subprograma {
/**
*
*/
private static final long serialVersionUID = 1L;
RunningAnimal Turtle;
RunningAnimal rabit
JButton start = new JButton(
"inicio");
String tortugastr = "tortuga";
Cadena conejostr = "conejo"
int tortuga
int rabitint;
public void init() {
setLayout(new BorderLayout());
tortuga = new RunningAnimal(this, "Tortuga", 500 , 20, 100);
tortuga. setPriority(7);
rabit = new RunningAnimal(this, "Rabit", 500, 300, 5000
rabit.setPriority(3);
this.setLayout(new BorderLayout());
this.add(start, BorderLayout.SOUTH);
start.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
// TODO genera automáticamente códigos auxiliares de método
tortuga.start();
rabit.start();
start.setEnabled(false);
}
});
}
pintura vacía pública (Gráficos g){
if(turtleint > 0)
g.drawLine(20, 20, 20 + Turtleint, 20);
g.drawOval (20 + tortuga, 20, 3, 3);
g.drawString(drawString(rabitstr, 20, 80);
}
} p> p>
Debido a que es un ejercicio, no discutí temas como la eficiencia. Solo consideré las funciones que mencionaste, lo que significa aproximadamente que simplemente llama a la función de dibujo del subprograma, continúa y vuelve a dibujarlo <. /p>
.