[21点游戏]程序设计收获

来源:互联网 发布:无人机导航算法 编辑:程序博客网 时间:2024/06/04 17:50

1.要以面向对象的思维解决问题,时刻遵循以下三大步骤:

(1)确定项目中需要哪些个类;

(2)这些个类都应提供哪个属性(成员变量)及操作(方法);

(3)这些类之间的关系是如何的,相互之间怎样调用.

 

2.尽量让电脑做明确的事情,避免无用功.如下方法就不是很馁:

// 此方法对传入的动态数组进行操作,添加一个在0-51之间且与当前数组内不重复的随机数.
 // 并且数组在方法中传递进行的操作在外部是可见的.
 public int getNewCardId(ArrayList<Integer> sentIdList) {
  Random random = new Random();
  int temp = random.nextInt(52);// 生成0-51随机数.
  if (!sentIdList.contains(temp))// 如果数组里不包含此数,则添加.
  {
   sentIdList.add(temp);
  } else { // 否则temp再次随机生成,直到数组中不再包含它为止.这样就不会在数组内部添加重复的整数.
   do { //****其实这里的算法是不当的,效率不高,在大项目中是不提倡电脑做不明确的事情的.****
    temp = random.nextInt(52);
   } while (sentIdList.contains(temp));
   sentIdList.add(temp);
  }
  return temp;
 }

 

3.可以先构建框架,再填代码.

 

4.get/set属性方法自动生成,避免.NET的_name习惯.

 

5.自动生成javadoc比手写的Word文档更便捷.

   按规范放在指定文件夹doc或docs中

 

6.发布jar包

   生成后,运行java -jar 21PointGame.jar

 

7.泛型+动态数组

  ArrayList<String> names= new ArrayList<String>();

  names.add("HelloWorld!")

  String s=names.get(0);

或者

 List<Integer> numbers= new ArrayList<Integer>();

   numbers.add(100);

   int n=numbers.get(0);

 

8.别死在别人的循规蹈矩里,要有自我的思考!

原创粉丝点击