昨天写的代码被殷老师诟病了,因为太「丑陋」。

原来我的代码结构是这样的:

public class ColorRocognizer
{
.....
public static void main(String args[]) { class ColorX {
public String colorName = "";
public String colorStr = "";
}//两个成员变量。
}
ColorX[] c;
c = new ColorX[32];
for (int i = 0; i < 32; i++) {
c[i] = new ColorX();}
     c[0].colorName = "RED";
c[0].colorStr = "FF0000";
c[1].colorName = "GREEN";
c[1].colorStr = "00FF00";
c[2].colorName = "BLUE";
c[2].colorStr = "0000FF";
c[3].colorName = "GREY";
c[3].colorStr = "808080";
c[4].colorName = "WHITE";
c[4].colorStr = "FFFFFF";
.......
}

后面还有更多的c的初始化。

也就是class->function->inner-class。因为我发现好像class里面不能直接放一个class,必须在一个function里面才能再放一个class。

殷老师觉得这样写太丑了。

他建议这样:

public class ColorRecognizerByMrYin {

    private static final String [] colorName = {"RED","GREEN","BLUE","GREY","WHITE"};

    private static final String [] colorStr = {"FF0000","00FF00","0000FF","808080","FFFFFF"};

    public static void main(String args[]) {

    ColorX[] c;
c = new ColorX[32];
for (int i = 0; i < 32; i++) {
c[i] = new ColorX(colorName[i],colorStr[i]);
}
}
}
class ColorX {
String colorName;//成员变量。
String colorStr;
public ColorX(String name, String str){//构造函数
colorName = name;//在这里初始化。
colorStr = str;
}
}

把ColorX写在了ColorRecognizor的外面(是否可以写在另外一个文件里呢?那样可能更好)。

构造函数初始化的方法,确实非常值得学习,这样写也好看多了。但是有个问题,就是颜色(KEY)和颜色值(VALUE)不容易用肉眼一一对应,万一出错,难以寻找。

明天再说。

最新文章

  1. html websocket
  2. entity
  3. Google Nexus5在linux下刷原生安卓 android6.0
  4. 论Postgres的“已提交的而且 xmin’比当前事务的XID小的记录对当前事务才是可见的”
  5. 【转】SQLServer XML类型
  6. ylbtech-Recode(记录)-数据库设计
  7. 一个介绍webrtc的国外网址
  8. 【转】Ofbiz学习经验谈
  9. HW2.10
  10. Java NIO与IO的差别和比較
  11. Java 舍入模式 数字的格式化
  12. Visual Studio 20**自动添加头部注释信息
  13. JavaScript Array 技巧
  14. css的背景background的相关属性
  15. nake_api_protect 请求保护器——防止请求被恶意刷
  16. SpringBoot项目打成一个war包
  17. Android为TV端助力 自定义动画
  18. Web 自动化测试框架 sweetest 介绍
  19. bootstrap selectpicker 通过代码指定选中值 BootStrap selectpicker后台动态绑定数据 selectpicker 获取选中option的属性或者值
  20. PY3 周总结 第一周

热门文章

  1. mysql数据库连接状态,不要做修改数据库表结构的操作;数据库迁移操作;
  2. JS里面的call, apply以及bind
  3. 线性回归,logistic回归分类
  4. jsp网页在浏览器中不显示图片_eclipse环境下配置tomcat中jsp项目的虚拟路径
  5. Go语言阅读小笔记,来自知呼达达关于unsafe.Pointer的分享.
  6. C 标准库 - &lt;signal.h&gt;
  7. 串匹配算法之BM算法
  8. java 堆和栈一般理解
  9. Linux学习笔记——例说makefile 综合案例
  10. 物联网网络编程和web编程