`
gcgan
  • 浏览: 38408 次
社区版块
存档分类
最新评论

Agile Java习题2--Java基础

阅读更多

第二章的习题主要是建立棋盘(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

 

0
0
分享到:
评论

相关推荐

    Agile Java 习题1--起步

    "Agile Java 习题1--起步"这个标题暗示我们将会探讨如何使用Java语言来实践敏捷开发,并且可能涉及一些初级的编程练习。在这个过程中,我们将深入理解Java编程的基础,以及如何将敏捷原则应用于实际的项目开发。 ...

    Agile Java 习题3,4--类方法和类变量

    本话题将深入探讨Agile Java中的类方法和类变量,这些是面向对象编程的基础概念,对于理解和编写高质量的Java代码至关重要。 类方法和类变量是Java类的核心组成部分。在Java中,类是创建对象的蓝图,它定义了对象的...

    agile Java课后习题代码

    【压缩包子文件的文件名称列表】"agile-java-exercises-master"可能是一个GitHub仓库的名字,通常这种命名方式表示这是一个开源项目,其中的"master"分支可能包含了项目的主线代码。在这个目录下,我们可以期待找到...

    java面试笔试题库java软件设计java笔试题大集合及答案文档资料合集300MB.zip

    java面试笔试题库java软件设计java笔试题大集合及答案文档资料合集300MB“ 100家大公司java笔试题汇总.doc 125条常见的java 面试笔试题大汇总.pdf 2011最新整理java经典代码.doc 25个经典的Spring面试问答.docx 8张...

    java面试笔试题库java学习笔记开发教程互联网公司面试资料大全合集.zip

    Agile Java 测试驱动开发的编程技术.pdf Java 8 默认方法和多继承.docx Java NIO通信框架在电信领域的实践.docx java.png javaconcurrencyinpractice.pdf JavaEE学习笔记.pdf java_Java_学习笔记.pdf Java_...

    读书笔记:Agile+Java+测试驱动开发的编程技术(例子+习题).zip

    读书笔记:Agile+Java+测试驱动开发的编程技术(例子+习题)

    Java Web应用开发项目教程(附电子教案,程序源代码,习题答案)

    2. **Servlet技术**:Servlet是Java Web服务器端的编程接口,用于生成动态内容。学习Servlet的生命周期、请求与响应处理、会话管理以及过滤器和监听器的使用,是构建动态Web应用的基础。 3. **JSP(JavaServer ...

    .A.Concise.And.Practical.Introduction.To.Programming.Algorithms.In.Java

    - 每本书都包含了大量的示例和练习题,部分书籍还提供了完整解答。 ### 知识点三:算法书籍中的具体主题 #### 核心概念 - **算法书**:针对特定领域或主题编写的算法书籍,通常会详细介绍该领域的基本概念、常用...

    Android学习基本路线指导.

    - 推荐读物:《Effective Java》和《Agile Software Development:Principles, Patterns, and Practices》这两本书深入浅出地讲解了设计模式及其应用场景。 #### 二、Linux基础知识 1. **Linux操作系统基础**: ...

    Android学习之路

    - 完成书中的练习题和视频中的示例项目。 - 尝试解决实际问题,比如编写简单的命令行工具或小应用程序。 #### 二、Linux基础知识 **重要性**: Linux作为Android底层操作系统的核心,掌握其基础知识对Android...

    Android学习路线.

    你可以通过阅读书籍或观看教学视频来学习,但关键在于实践,多编写代码,完成各种练习题,确保对每个知识点都能熟练应用。此外,了解并掌握设计模式是提升编程能力的关键。设计模式如单例、工厂、观察者等在Android...

    一些 知名企业的笔试面试题

    2. 编程语言基础: - C/C++:指针、内存管理、预处理器宏、模板 - Java:面向对象特性、异常处理、集合框架(ArrayList、LinkedList、HashMap等) - Python:动态类型、迭代器、装饰器、元编程 - JavaScript:...

    软件测试试题.7z

    在IT行业中,软件测试是一项至关重要的任务,它确保了产品的质量、稳定性和可靠性。...而“软件测试试题”这个压缩包很可能包含了一系列针对这些知识点的练习题和案例,用于帮助学习者检验和提升自己的测试技能。

    《软件工程》习题集.pdf

    通过以上信息点的整理,我们可以看出《软件工程》习题集中可能包含的练习和讨论内容涉及软件开发周期的多个阶段,包括需求分析、设计、实现、测试和维护等。题目可能会要求学生运用各种方法论、设计模式、建模语言和...

    软件测试实训试题+答案

    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 ...

    编程及C&amp;C++初学者 FAQ.pdf

    做练习题可以帮助巩固知识,加深理解。 ##### OJ是什么 OJ(Online Judge)是指在线评测系统,用于评估编程题目的解法是否正确。这是一种很好的自我测试和提高编程技能的方法。 ##### 哪里有可用的OJ 有许多知名...

Global site tag (gtag.js) - Google Analytics