Java 如何将立方体表示为具有不同边颜色的对象?

Java 如何将立方体表示为具有不同边颜色的对象?,java,Java,所以我正在做一个项目,我必须制作一个立方体对象,但我在试图将它写入代码时遇到了困难 到目前为止,我有两个类,一个是立方体,一个是边。我的问题是如何创建一个立方体对象,该对象接受侧面的颜色?如有任何意见,将不胜感激。多谢各位 //这就是我的多维数据集类,我将创建一个大小为6的数组来表示多维数据集的每一面我的问题是如何将每个多维数据集面元素放入数组中 import java.util.*; public class Cube{ Side[] cubeSides = new Side[6]

所以我正在做一个项目,我必须制作一个立方体对象,但我在试图将它写入代码时遇到了困难

到目前为止,我有两个类,一个是立方体,一个是边。我的问题是如何创建一个立方体对象,该对象接受侧面的颜色?如有任何意见,将不胜感激。多谢各位

//这就是我的多维数据集类,我将创建一个大小为6的数组来表示多维数据集的每一面我的问题是如何将每个多维数据集面元素放入数组中

import java.util.*;

public class Cube{


   Side[] cubeSides = new Side[6];

   Side top;
   Side left; 
   Side right;
   Side front;
   Side back;
   Side bottom;

   int id;


   public Cube(Side newTop, Side newLeft, Side newRight, Side newFront, Side newBack,     Side newBottom){

      top = newTop;
      left = newLeft;
      right = newRight;
      front = newFront;
      back = newBack;
      bottom = newBottom;

   }//Constructor



}//class


//this is my side class that just takes in a color for the side
import java.util.*;

public class Side{

   String color;

   public Side(String sideColor){

     color = sideColor;

  }//constructor

   String getColor(){

     return color;

  }//getColor

}//对于颜色表示,我认为Enum更适合您的需要。比如

public enum Color {
  RED, BLUE, PINK, ORANGE, GREEN
}

除此之外,我认为使用数组是没有意义的,因为边不能排序。Cube.top在我看来很不错。如果您真的需要一个变量来访问所有颜色,您可以使用HashMap,访问它的方式类似于Cube.SideColors.get(“Top”)

很抱歉,但我不熟悉Enum是什么,我需要对边进行排序,以便访问每个索引。问题是,我正在做一个游戏,在这个游戏中我必须制作4个立方体对象,当它们被放置在一个堆栈中时,立方体的每一边都会相互比较。这就是你需要谷歌搜索和自我学习的地方,我用一个简短的文字编辑了我的答案example@user2230712
enum
允许您在类型中定义一组常量-请参见,对于
Color
表示,a将是最合适的,因为它用于存储颜色,并且它实现了所有必要的功能,并且通常与内置GUI代码兼容。重新发明轮子毫无意义。谢谢你,我会调查的!立方体需要处理旋转(即,如果“顶部”是蓝色的,它在x上旋转180度,现在“底部”是蓝色的)2)你的立方体需要序列化到一个已知的格式来表示吗?“如何将每个立方体侧元素放置到数组中”是一个非常基本的问题。在继续之前,您可能希望检查一下该官员。你已经声明了数组,你有6个项目,该教程将为你提供如何在该数组中存储这6个项目所需的信息。是的,我选择数组的原因是,如果我需要旋转它,我可以只更改颜色的索引。