第二章的习题主要是建立棋盘(Board),并且在棋盘上添加卒(Pawn)。
1、创建测试类BoardTest,并测试格子是空的。
@Test
public void testAddPawn() {
Board board = new Board();
assertEquals(0, board.getPawnCount());
}
先解决语法错误,然后运行测试,并解决问题。
public class Board {
public int getPawnCount() {
return 0;
}
}
2、允许添加卒(Pawn)到棋盘(Board)上去,并且每次添加之后测试棋盘上的Pawn的数量。
先添加测试:
public void testAddPawn() {
Board board = new Board();
assertEquals(0, board.getPawnCount());
Pawn pawn = new Pawn();
board.addPawn(pawn);
assertEquals(1, board.getPawnCount());
assertTrue(board.getPawns().contains(pawn));
Pawn blackPawn = new Pawn(Pawn.COLOR_BLACK);
board.addPawn(blackPawn);
assertEquals(2, board.getPawnCount());
assertTrue(board.getPawns().contains(pawn));
assertTrue(board.getPawns().contains(blackPawn));
}
在Board类里面添加相应的方法:
private List<Pawn> pawns = new ArrayList<Pawn>();
public void addPawn(Pawn pawn) {
pawns.add(pawn);
}
public int getPawnCount() {
return pawns.size();
}
public List<Pawn> getPawns() {
return pawns;
}
运行测试,看见成功。
3、将4个类都移动到chess包里面去,并解决编译错误。再将TestPawn,Pawn移动到pieces中,解决出现的问题。
4、尝试添加其他类型到棋盘,将会发现出现语法错误。
5、给生产类添加Javadoc
这章的最终程序在附件里面。我的环境:windowsXP,eclipse3.5,jdk1.6,JUnit4.5
分享到:
相关推荐
"Agile Java 习题1--起步"这个标题暗示我们将会探讨如何使用Java语言来实践敏捷开发,并且可能涉及一些初级的编程练习。在这个过程中,我们将深入理解Java编程的基础,以及如何将敏捷原则应用于实际的项目开发。 ...
本话题将深入探讨Agile Java中的类方法和类变量,这些是面向对象编程的基础概念,对于理解和编写高质量的Java代码至关重要。 类方法和类变量是Java类的核心组成部分。在Java中,类是创建对象的蓝图,它定义了对象的...
【压缩包子文件的文件名称列表】"agile-java-exercises-master"可能是一个GitHub仓库的名字,通常这种命名方式表示这是一个开源项目,其中的"master"分支可能包含了项目的主线代码。在这个目录下,我们可以期待找到...
java面试笔试题库java软件设计java笔试题大集合及答案文档资料合集300MB“ 100家大公司java笔试题汇总.doc 125条常见的java 面试笔试题大汇总.pdf 2011最新整理java经典代码.doc 25个经典的Spring面试问答.docx 8张...
Agile Java 测试驱动开发的编程技术.pdf Java 8 默认方法和多继承.docx Java NIO通信框架在电信领域的实践.docx java.png javaconcurrencyinpractice.pdf JavaEE学习笔记.pdf java_Java_学习笔记.pdf Java_...
读书笔记:Agile+Java+测试驱动开发的编程技术(例子+习题)
2. **Servlet技术**:Servlet是Java Web服务器端的编程接口,用于生成动态内容。学习Servlet的生命周期、请求与响应处理、会话管理以及过滤器和监听器的使用,是构建动态Web应用的基础。 3. **JSP(JavaServer ...
- 每本书都包含了大量的示例和练习题,部分书籍还提供了完整解答。 ### 知识点三:算法书籍中的具体主题 #### 核心概念 - **算法书**:针对特定领域或主题编写的算法书籍,通常会详细介绍该领域的基本概念、常用...
- 推荐读物:《Effective Java》和《Agile Software Development:Principles, Patterns, and Practices》这两本书深入浅出地讲解了设计模式及其应用场景。 #### 二、Linux基础知识 1. **Linux操作系统基础**: ...
- 完成书中的练习题和视频中的示例项目。 - 尝试解决实际问题,比如编写简单的命令行工具或小应用程序。 #### 二、Linux基础知识 **重要性**: Linux作为Android底层操作系统的核心,掌握其基础知识对Android...
你可以通过阅读书籍或观看教学视频来学习,但关键在于实践,多编写代码,完成各种练习题,确保对每个知识点都能熟练应用。此外,了解并掌握设计模式是提升编程能力的关键。设计模式如单例、工厂、观察者等在Android...
2. 编程语言基础: - C/C++:指针、内存管理、预处理器宏、模板 - Java:面向对象特性、异常处理、集合框架(ArrayList、LinkedList、HashMap等) - Python:动态类型、迭代器、装饰器、元编程 - JavaScript:...
在IT行业中,软件测试是一项至关重要的任务,它确保了产品的质量、稳定性和可靠性。...而“软件测试试题”这个压缩包很可能包含了一系列针对这些知识点的练习题和案例,用于帮助学习者检验和提升自己的测试技能。
通过以上信息点的整理,我们可以看出《软件工程》习题集中可能包含的练习和讨论内容涉及软件开发周期的多个阶段,包括需求分析、设计、实现、测试和维护等。题目可能会要求学生运用各种方法论、设计模式、建模语言和...
1. 软件测试基础: - 定义:软件测试是为了发现程序中的错误、缺陷和遗漏,以验证软件是否符合预定的需求和标准。 - 目标:提高软件质量,减少潜在风险,确保软件可靠性、可用性和可维护性。 2. 测试类型: - ...
2. Agile和DevOps:理解敏捷开发中的持续集成和持续交付概念,以及DevOps如何促进测试与开发的协作。 三、自动化测试 1. 自动化测试工具:例如Selenium、Junit、TestNG、Appium等的使用和优缺点。 2. 编写测试...
这份"阿里巴巴研发工程师笔试选择题二-教程与笔记习题"涵盖了多个IT领域的核心知识点,旨在测试候选人的技术功底和解决问题的能力。以下是对这些知识点的详细解析: 1. **计算机网络** - TCP/IP协议栈:理解TCP/IP...
My strongest skills lie in software development, particularly in programming languages such as Java and Python. I have hands-on experience in designing scalable systems and working with agile ...
做练习题可以帮助巩固知识,加深理解。 ##### OJ是什么 OJ(Online Judge)是指在线评测系统,用于评估编程题目的解法是否正确。这是一种很好的自我测试和提高编程技能的方法。 ##### 哪里有可用的OJ 有许多知名...