그래서이 프로그램 할당에 대한 머리를 깨고 어떻게 끝내야할지 모르겠다. 나는 이미 그것의 80 %를 완료했으나 마지막 부분은 일반적인 생각조차도 모른다. 문제는추상 수퍼 클래스를 사용하여 임의의 하위 클래스 생성
"그런 방법 무작위 임의의 위치에 승용차와 트럭을 구성하기위한 동일한 확률로, Vehicle
참조를 생성 randomVehicle
물품. 10 번을 호출하고 그들 모두를 그립니다."입니다
나는 주된 방법 인 Abstract Superclass Vehicle
과 Car와 Truck의 두 개의 서브 클래스를 가지고있다. 루프를 사용하여 확률을 계산하는 방법을 알고 있지만 그 확률 해답을 취하는 방법을 모릅니다 (1은 트럭, 2는 차가 될 것입니다). 그리고 자동차와 트럭의 미리 정의 된 모양을 참조하는 데 사용합니다.
다른 말로하면 컴파일하고 실행 한 후 무작위로 결정한 자동차와 트럭을 만들고 표시하는 프로그램을 어떻게 만들 수 있습니까?
질문이 혼란 스럽다면 미안하지만 나는 추상적 인 수업을 배우고 있습니다. 여기
는 지금까지 코드 :홈페이지 방법
import java.awt.*;
@SuppressWarnings("serial")
class drawTest extends Canvas{
public drawTest(){
setSize(800, 600);
setBackground(Color.white);
}
public static void main(String[] argS){
drawTest canvas = new drawTest();
Frame aFrame = new Frame();
aFrame.setSize(800, 600);
aFrame.add(canvas);
aFrame.setVisible(true);
}
public void paint(Graphics canvas){
Vehicle car = new CarTest();
car.paint(canvas);
paint(canvas);
}
}
CarTest
클래스
import java.awt.*;
@SuppressWarnings("serial")
public class CarTest extends Vehicle{
public void paint(Graphics canvas){
canvas.drawOval(10+super.x, 30+super.y, 15, 15); // Front Wheel
canvas.drawOval(45+super.x, 30+super.y, 15, 15); // Back Wheel
canvas.drawRect(5+super.x, 10+super.y, 60, 20); // Bottom of Car
canvas.drawRect(15+super.x, 5+super.y, 40, 5); // Bottom of Car
}
}
TructTest
클래스
import java.awt.*;
@SuppressWarnings("serial")
public class TruckTest extends Vehicle{
public void paint(Graphics canvas){
canvas.drawRect(30+super.x, 5+super.y, 100, 30); // Cargo Section
canvas.drawOval(30+super.x, 35+super.y, 15, 15); // Wheel Under Cargo
canvas.drawOval(45+super.x, 35+super.y, 15, 15); // Wheel Under Cargo
canvas.drawOval(100+super.x, 35+super.y, 15, 15); // Wheel Under Cargo
canvas.drawOval(115+super.x, 35+super.y, 15, 15); // Wheel Under Cargo
canvas.drawRect(5+super.x, 15+super.y, 20, 20); // Driver Section
canvas.drawOval(5+super.x, 35+super.y, 15, 15); // Wheel Under Driver
}
}
Ab의 트랙트 Vehicle
클래스 얻을
import javax.swing.*;
import java.awt.*;
@SuppressWarnings("serial")
public abstract class Vehicle extends JApplet{
public Vehicle(){
// Generates Random position
x = (int)(Math.random()*700);
y = (int)(Math.random()*550);
}
public abstract void paint(Graphics canvas);
public void randomVehicle(){
int carTruckChoice = (int)(1+Math.random()*2);
if (carTruckChoice == 1){
// don't know if this is the right implementation
}
else if (carTruckChoice == 2){
// don't know if this is the right implementation
}
}
public int x;
public int y;
}
어떤 부분에 문제가 있습니까? 난수 생성? 또는 조건에 따라 클래스 a 또는 클래스 b의 인스턴스를 만들 수 있습니까? – Thilo
나는 난수를 만드는 법을 안다. 자동차와 트럭이 어떻게 기본 모양을 사용하여 보일 것인가에 대한 시각을 만들었고, 자동차 나 트럭을 만드는 방법을 알고있다. 어떻게 해야할지 아는 것은 구체적인 하위 클래스이고 추상적 인 하위 클래스 인 자동차 또는 트럭의 임의 인스턴스 10 개를 만드는 메서드를 만드는 것입니다. – DOHtero
코드로 업데이트되었습니다. 잘하면 문제는 더 의미가있을 것입니다 – DOHtero