模块一第二阶段作业题目分析

本文深入探讨了二维数组的实现与应用,包括行、列和对角线元素的累加和计算,以及如何利用二维数组设计并实现控制台版五子棋游戏。此外,还介绍了手机卡类、套餐类及用户消费信息类的设计,通过抽象类和接口的运用,优化了实体类的结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

模块一第二阶段作业题目分析

  1. 编程实现以下需求:
    定义一个长度为[16][16]的整型二维数组并输入或指定所有位置的元素值,分别实现二维数组中所有行和所有列中所有元素的累加和并打印。
    再分别实现二维数组中左上角到右下角和右上角到左下角所有元素的累加和并打印。
    答:长度为[16][16]数组,就知道可以初始化一个长度为16的数组,int型默认值为0.指定所有元素值这块,我用了双重for循环每行遍历递增一个二维数列的方式;

从左上角和从右上角这个也很简单,联想到第一阶段的乘法表格,右上角到左下角的思路主要是每次第二层循环都从(长度-i)开始循环。可以画出规律,根据等差数列写出代码。

  1. 编程实现控制台版并支持两人对战的五子棋游戏。
    (1)绘制棋盘 - 写一个成员方法实现
    答:绘制棋盘在第一阶段写过,封装成一个成员方法就行。唯一不同的地方是根据黑白方下过的坐标用不同符号标记。而不再只是固定的“+”。

(2)提示黑方和白方分别下棋并重新绘制棋盘 - 写一个成员方法实现。
答:我这里用了两个成员方法,没有封装类。在main函数中用while循环包装,当白方落子后,绘制图纸,判断胜负,如果有胜利,跳出while循环。
(3)每当一方下棋后判断是否获胜 - 写一个成员方法实现。
答:同上,是否获胜封装了一个成员方法,当落子的时候,判断落子上下左右撇捺方向各遍历查找4次,如果有相同就自增,如果自增到5个,跳出循环,返回true。
(4)提示: 采用二维数组来模拟并描述棋盘,棋盘如下:

  1. 按照要求设计并实现以下实体类和接口。
    3.1 第一步:设计和实现以下类
    答:(1)(2)(3)纯属体力活,没有什么感情和思想,不做过多解释,创建类并封装bean。
    (1)手机卡类 特征:卡类型、卡号、用户名、密码、账户余额、通话时长(分钟)、上网流量 行为:显示(卡号 + 用户名 + 当前余额)
    (2)通话套餐类 特征:通话时长、短信条数、每月资费 行为: 显示所有套餐信息 (3)上网套餐类 特征:上网流量、每月资费 行为:显示所有套餐信息
    (4)用户消费信息类 特征:统计通话时长、统计上网流量、每月消费金额
    3.2 第二步:设计和实现以下枚举类 手机卡的类型总共有 3 种:大卡、小卡、微型卡
    答:枚举类就是写死成员变量,并升级类层级,用枚举类的固定语法写好就行,同时暴露get方法供外部调用。
    3.3 第三步:实体类的优化 将通话套餐类和上网套餐类中相同的特征和行为提取出来组成抽象套餐类。
    答:用集成开发环境idea创建一个abstract 类,内部成员变量和方法可以考虑用abstract修饰,因为抽象类中也可以有非抽象方法,以免误会。然后用前面创建过的通话套餐类和上网套餐类继承抽象类,并重写抽象方法。
    3.4 第四步:创建并实现以下接口
    (1)通话服务接口 抽象方法: 参数1: 通话分钟, 参数2: 手机卡类对象 让通话套餐类实现通话服务接口。
    (2)上网服务接口 抽象方法: 参数1: 上网流量, 参数2: 手机卡类对象 让上网套餐类实现上网服务接口。
    答:以上继承完抽象方法后,extends后面继续可以实现接口,接口类中成员方法接一个类型为手机卡的对象。然后上面两个类分别实现接口,必须重写接口方法,其中手机卡类可以提前new 一个对象再传入,也可以用构造函数new的方式传入。
    3.5 第五步:进行代码测试
    编写测试类使用多态格式分别调用上述方法,方法体中打印一句话进行功能模拟即可
    答:多态就是父类类型指向子类类型创建的对象。我们前面写了接口和抽象类都被继承。这里的就用接口作为父类,然后指向子类(通话套餐类和上网套餐类)所new的新对象,这里要知道的是,多态中编译阶段引用父类,执行阶段引用子类。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值