淘豆网
1/48
下载文档
0/100
您的浏览器不支持进度条
更多>>该用户其他文档
下载所得到的文件列表
java作品设计报告书(共10篇).doc
文档介绍:
java 作品设计报告书(共 10篇) JAVA 课程设计报告_ 完整版《 JAVA 面向对象程序设计》课程设计报告( 2011-2012 学年第 2 学期) 系别: 专业名称: 厦门理工学院计算机科学与技术系 10 级网络工程 1班课程设计科目:《 JAVA 面向对象程序设计》课程设计学生姓名: 学号: 指导教师: 成绩: 完成时间: 崔建峰 2012 年7月6日题目 JAVA 程序课程设计任务一手机号码检测器(一)设计任务与目标任务: 手机号码是由 11 位数字构成, 用户在输入手机号码时经常混乱输入若干位数字或字母,要求你编写一个程序检测用户所输入的手机号码是否符合规则。要求目标: 检测所输入的手机号码是否是 11位检测每一位是否都为数字。分析论证: 本题目要求对用户输入的手机号码进行检测,判断输入的正确性。曾经有做过类似字符比较的题目,可以借鉴。将字符的比较运用进来,把用户的输入字符和正确的进行比较。但是必须满足多次输入和错误提醒。同时还可以添加提示错误的位置和错误字符是什么。程序正确运行时可以满足以上功能, 基本可以达到题目要求了。(二)方案设计与论证为了满足多次输入的要求,将提示和输入的操作放在一个循环体中,我采用了 do_whiele() 循环。每次输入结束后提示是否继续输入。在循环中逐步对输入的号码位数和字符类型进行检测。位数可以分超出和不足,并均给出错误提示。如果位数满足要求后对手机号码类型进行检测。一般手机号在 0~9 之间,所以不满足的字符将报错。通过将输入的整个字符串调用 charAt(int i) 方法对字符串逐位比较。本程序的特点在于可以满足了多次输入和错误字符的显示(内容和位置)。在程序的调试过程中,有过多次输入正确的号码也会报错( 还会报错 0 位错误), 这是因为记录错误位子的变量放在错误条件下并且未在循环体中初始化为 0 。最终解决了此问题。(三)程序框图或流程图,程序清单与调用关系 2 (四)程序运行的测试与分析实现了多次输入和错误提示,可以判断输入的号码的错误位置及字符,错误类型,满足了设计构思要求。最终结果如下图: 实验结果截图: (五)结论心得实验过程中对于判断条件的选择出现了问题,开始时觉得要对输入的字符一个一个的比较,这样增加了难度也不方便实现。后面改成了将用户输入完成后的全部字符串当做整体后再来逐位比较。如果能做成手机外形的面板并能一个一个 3 的判断,只要输入错误字符马上提示,那功能将更加完善。任务二***牌(一)设计任务与目标任务: 设计一个 Card 类代表***牌,每张牌都有自己的花色和大小。创建一个 DeskOfCards 类保存 54 张***牌, 设计洗牌、发一张牌、报告剩余牌数的方法。创建 main 方法测试你的程序。要求目标: 实现洗牌和发牌。显示当前片面和剩余牌数。分析论证: 本题目需要用到数组来存储一副纸牌,并需要用到随机数来代替随机发牌,曾经做过类似工作。现在需要将产生的随机数和字牌的大小和花色联系起来,可以通过数组来实现。同时还要达到可以循环发牌,并有发牌信息显示。(二)方案设计与论证根据题目要求, 我准备在类 Card 中用数组存储一副牌( 52张), 考虑到***牌有花色和大小并都是固定的,所以用了两个字符串数组分别初始化花色和大小,再利用下标操作把花色和大小组合在一起, 存放另在一个数组里( 最终的纸牌组)。这样就有了一副完整纸牌了。再创建另一个类 DeskOfCard 创建两个 Card 对象,通过在循环里的条件判断对对象进行操作:洗牌时就将纸牌数组和剩余牌数重新初始化(利用多余的那个对象) 。发牌时用到随机数产生器, 产生从 0到 51 的整数和数组小标对应,每个元素代表一张牌。测试过程中出现了无法显示牌面的问题,通过对象引用找不到具体的纸牌,后来在 Card 类中添加了 getCard(int i) 方法返回一张牌,实现了发牌和剩余牌数,并可以多次发牌。 4 (三)程序框图或流程图,程序清单与调用关系(四)程序运行的测试与分析从测试过程中达到了分析时的目的要求,实现了洗牌和发牌(显示牌面和剩余数量) 。最终结果如下图: 实验结果截图: 5 篇二: java 设计报告 JAVA 实践作品设计报告题目俄罗斯方块专业计算机科学与技术(网络方向) 二〇一一年六月三十日一、设计简介通过所学的知识, 利用多线程( Thread ) 机制、 javaSwing 提供的图形类等实现一个俄罗斯方块游戏, 该游戏能够实现开始和结束,还有游戏所包含的各种功能。二、设计目的将这学期所学的 java 知识能够全面的应用,真正意义上了解和认识 java 面向对象的精髓, 了解 java 的运行环境, 熟练掌握 jav a 的开发工具,熟练掌握 javaSE 的基本技术。三、技术要点主要应用了 javaSwing 图形界面技术、多线程机制、 Canvas 、 JFrame 、 JPanel 类、以及采用了克隆( Clone ) 、面向对象, 利用接口( interface )实现图形工厂等方法; 四、原代码分析 1 、控制器类主要用于控制 Ground 、 Snake,Food, 负责游戏的逻辑和处理按键事件。 public class Controller extends KeyAdapter implements ShapeListener, GroundListener { protected SetGameListener listeners = new HashSetGameListener();// 图形工厂 protected ShapeFactory shapeFactory; protected Shape shape; protected Ground ground; protected GamePanel gamePanel; protected JLabel gameInfoLabel; protected boolean playing; public void keyPressed(KeyEvent e) {// 当前的游戏状态 if (e.getKeyCode() != KeyEvent.VK_Y && !playing)return; switch (e.getKeyCode()) { case KeyEvent.VK_LEFT:// 方向左 if (isPausingGame()) {this.continueGame();} if (isPlaying() && ground.isMoveable(shape, Shape.LEFT))shape.moveLeft();break; shape.setSwift(false); // 用键盘控制游戏向左想右向下,向上等的键盘事件。 shape.setSwift(false); case KeyEvent.VK_RIGHT:// 方向右 if (isPausingGame()) {th 内容来自淘豆网www.taodocs.com转载请标明出处.