7. 字符数统计(满分50分) 版本1:满分15分 Write a method that counts the number of letters in a string using the following header: public static int countLetters (String s) Write a test program that prompts the user to enter a string and displays the number of occurrences of letters in the string. 版本2:满分20分 Write a class that displays the number of occurrences of each letter in a string using histogram. The class header should be: public class Histogram extends JPanel { … } Write a test program that prompts the user to enter a string and displays a histogram of the number of occurrences of each letter in the string using Histogram class. The display is as shown as following figure: 版本3:满分20分 Write a program that prompts the user to enter the name of an ASCII text file and display the frequency of the letters in the file using following design: public class ShowFrequency { public static void main(String[] args) throws Exception { …. BufferedInputStream fileInput = new BufferedInputStream( new FileInputStream(new File(filename))); …. } }
2020-01-03 11:42:11 10KB 统计字符串 xhay cqut 课程设计
1
5. 井字游戏(满分50分) 版本1:满分20分 井字游戏是一种在3*3格子上进行的连珠游戏,和五子棋比较类似。由分别代表O和X 的两个游戏者轮流在格子里留下标记(一般来说先手者为X)。最先在任意一条直线上(水平、垂直或者对角线)成功连接三个标记的一方获胜。当所有格子都被填满,双方都未获胜 时,为平局。 提示两个用户轮流输入X和O。当一个标记设置后,程序在控制台重新显示,并判断 游戏状态(赢家、平局、继续)。控制台程序运行示例: 版本2:满分10分 创建自定义面板Cell类用来显示X、O或者不显示。当绘制面板时,随机决定显示内 容。提示:使用Math.random()方法产生整数0、1或者2,对应于显示X、O或者不显示。 创建一个框架包含9个自定义面板,产生井字游戏界面。运行示例: 版本3:满分20分 创建可以用户交互的井字游戏。修改(2)中Cell类:初始时,所有格子为空;第一个 玩家使用X标记,第二个玩家使用O标记。当一个用户在格子上点击鼠标时,如果该格子 为空,就使用X或O填充;如果格子已经填充,则忽略用户操作。主程序面板TicTacToe 类包括9个Cell对象,可以创建对象数组Cell[3][3]存储;一个Button用于重新开始;一个 标签用于描述当前进行的玩家、赢家或者平局,运行示例:
2020-01-03 11:42:11 5KB 井字游戏 xhay cqut 课程设计
1
3. 几何图形(满分50分) 版本1:满分 10 分 设计抽象类 GeometricObject 及其子类 Triangle 和Circle。 GeometricObject 类设计要求如下: ■ 一个名为 color 的Color类型的私有数据域,表示对象的颜色 ■ 一个名为 filled 的Boolean类型的私有数据域,表示对象是否 ■ 一个名为 dateCreated 的Date 类型的私有数据域,表示对象的 ■ 一个无参构造方法。 ■ 一个能创建特定 color 和filled 的有参构造方法。 ■ 相关数据域的访问器和修改器。 ■ 两个个名为 draw 和erase的抽象方法。 ■ 一个名为 getArea的抽象方法。 ■ 一个名为 getPerimeter的抽象方法。 ■ 重写 toString 方法。 Triangle 类设计要求如下: ■ 三个名为 side1、side2和 side3 的double 类型的私有数据域表 们的默认值是 1.0。要求三个数据域保留 2 位小数。 ■ 一个无参的构造方法创建默认三角形。 ■ 一个能创建带指定 side1、side2和 side3 的有参构造方法。 ■ 所有三个数据域的访问器和修改器方法。 ■ 父类抽象方法的实现。 ■ 重写 toString 方法。 Circle 类设计要求如下: ■ 一个名为 radius 的double 类型的私有数据域,表示圆的半径,数据域保留2 位小数。 ■ 一个名为 PI 的静态常量,其值为 3.14 ■ 一个无参的构造方法创建默认三角形。 ■ 一个能创建带指定 radius 的有参构造方法。 ■ radius 数据域的访问器和修改器方法。 ■ 父类抽象方法的实现。 ■ 重写 toString 方法。 测试类 TestGeometricObject1 设计要求如下: ■ 一个能随机生成 Circle 类和Triangle 类对象的静态方法 GeometricObject[] RandomCreateGeometricObject() ■ 以随机生成的数组为参数,输出数组中每个对象的基本信息、周长和面积。 ■ 类中其它方法的测试 版本2:满分 20 分 将上面的抽象类GeometricObject 改为接口,接口只保留其中四个抽象方法,声明类 Circle、Triangle 实现该接口,类的基本要求如上,同时为每个类增加一个将当前对象序列化 到指定文件的方法 writeToFile(File f)。 测试类 TestGeometricObject2 设计要求如下: ■ 一个能随机生成 Circle 类和Triangle 类对象的静态方法,该方法将随机生成的象序列 化到指定的文件 GeometricObjects.dat 中,序列化成功返回真,否则返回假。 Boolean RandomCreateGeometricObject() ■ 将GeometricObjects.dat 文件中对象全部读出,存储到 GeometricObject 对象数组中, 然后以此数组为参数,输出数组中每个对象的基本信息、周长和面积。 ■ 类中其它方法的测试。 新增一个类Rectangle ,也实现接口 GeometricObject ,同时修改测试类 TestGeometricObject2 ,体会开-闭原则。 版本3:满分 20 分 在第2 步的基础上设计实现一个具有 GUI 界面的几何图形绘制系统系统,要求实现根 据选择的几何图形类型来绘制和删除相应的图形,其中相关参数应通过界面输入,并可计算 图形的周长和面积。
2019-12-21 22:00:37 23KB 几何图形 jpanel 课程设计CQUT xhay
1