【发布时间】:2018-10-08 15:19:38
【问题描述】:
我被要求创建一个机器人对象,然后移动它并跟踪它 使用 java 的 awt.point 类。我相信我可能完全错误地使用了这个点类,需要你的帮助。谢谢!这是主要和类代码。 //Main - 尝试创建点时出错!类代码从导入开始。只是想知道我是否正在使用私有点对象作为实例变量进行构造函数。感谢所有反馈!
public class RobotDirections
{
public static void main(String[] arg){
Robot Craig = new Robot((0,0), 1) ;
}
}
import java.awt.Point ;
public class Robot
{
private int directionFacing ;
private Point robot = new Point() ;
//North East South West
private String N_E_S_W_ ;
int X = 0 ;
int Y = 0 ;
public Robot(Point robot , int directionFacing){
this.directionFacing = 1 ;
this.robot = robot ;
}
public void turnLeft(){
if(directionFacing == 1 ){
directionFacing = 5 ;
}
else if(directionFacing == 2 ){
directionFacing = 2 ;
}
else if(directionFacing == 3 ){
directionFacing = 3 ;
}
else if(directionFacing == 4 ){
directionFacing = 4 ;
}
directionFacing-- ;
}
public void turnRight(){
if(directionFacing == 4 ){
directionFacing = 0 ;
}
else if(directionFacing == 1 ){
directionFacing = 1 ;
}
else if(directionFacing == 2 ){
directionFacing = 2 ;
}
else if(directionFacing == 3 ){
directionFacing = 3 ;
}
directionFacing++ ;
}
public void move(){
if(directionFacing == 1){
robot.setLocation(X, Y++) ;
}
else if(directionFacing == 2){
robot.setLocation(X, Y) ;
}
else if(directionFacing == 3){
robot.setLocation(X, Y--) ;
}
else if(directionFacing == 4){
robot.setLocation(--X,Y) ;
}
}
public Point getLocation(){
return robot ;
}
public String getDirection(){
if(directionFacing == 1){
N_E_S_W_ = "N" ;
}
else if(directionFacing == 2){
N_E_S_W_ = "E" ;
}
else if(directionFacing == 3){
N_E_S_W_ = "S" ;
}
else if(directionFacing == 4){
N_E_S_W_ = "W" ;
}
return N_E_S_W_ ;
}
}
【问题讨论】:
标签: java