热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Java语言基础编程题(二维数组,五子棋游戏,实体类和接口,视频讲解)分享三道简单的编程题,后面加上我个人的视频讲解

本文分享了三道简单的Java语言基础编程题,包括二维数组、五子棋游戏和实体类与接口。作者还提供了个人的视频讲解。想了解更多内容,请关注作者的微信公众号Renda_Zhang。第一题是关于二维数组的累加和计算和打印,包括行、列以及对角线的累加和。第二题是关于控制台版五子棋游戏的编程实现,支持两人对战。第三题是关于实体类和接口的设计和实现,包括手机卡类、通话套餐类和上网套餐类的特征和行为。详细内容请参考下文。
0f1beaa33c906a4c6ae5cab262989e8a.png
原文:Java 语言基础编程题 (二维数组, 五子棋游戏, 实体类和接口, 视频讲解)

分享三道简单的编程题,后面加上我个人的视频讲解。


想了解更多,欢迎关注我的微信公众号:Renda_Zhang

第一题

二维数组

1. 编程实现以下需求:

定义一个长度为[16][16]的整型二维数组并输入所有位置的元素值,

分别实现二维数组中所有行和所有列中所有元素的累加和并打印。

再分别实现二维数组中左上角到右下角和右上角到左下角所有元素的累加和并打印。


第二题

五子棋游戏

编程实现控制台版并支持两人对战的五子棋游戏。

  1. 绘制棋盘 - 写一个成员方法实现
  2. 提示黑方和白方分别下棋并重新绘制棋盘 - 写一个成员方法实现。
  3. 每当一方下棋后判断是否获胜 - 写一个成员方法实现。
  4. 提示:采用二维数组来模拟并描述棋盘,棋盘如下:
c3ebc34ee0a559f7d6741561cac1e11d.png

第三题

实体类和接口

按照要求设计并实现以下实体类和接口。

第一步:设计和实现以下类

  1. 手机卡类特征:卡类型、卡号、用户名、密码、账户余额、通话时长(分钟)、上网流量行为:显示(卡号 + 用户名 + 当前余额)
  2. 通话套餐类特征:通话时长、短信条数、每月资费 行为: 显示所有套餐信息
  3. 上网套餐类 特征:上网流量、每月资费 行为:显示所有套餐信息
  4. 用户消费信息类特征:统计通话时长、统计上网流量、每月消费金额

第二步:设计和实现以下枚举类

手机卡的类型总共有 3 种:大卡、小卡、微型卡

第三步:实体类的优化

将通话套餐类和上网套餐类中相同的特征和行为提取出来组成抽象套餐类。

第四步:创建并实现以下接口

  1. 通话服务接口抽象方法: 参数 1: 通话分钟, 参数 2: 手机卡类对象 让通话套餐类实现通话服务接口。
  2. 上网服务接口抽象方法: 参数 1: 上网流量, 参数 2: 手机卡类对象 让上网套餐类实现上网服务接口。

第五步:进行代码测试

编写测试类使用多态格式分别调用上述方法,方法体中打印一句话进行功能模拟即可。


视频讲解

二维数组, 五子棋游戏, 实体类和接口_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.com
0e8075934d38f579b35e530cfa3c5c1b.png
知乎视频​www.zhihu.com



推荐阅读
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文探讨了C语言中指针的应用与价值,指针在C语言中具有灵活性和可变性,通过指针可以操作系统内存和控制外部I/O端口。文章介绍了指针变量和指针的指向变量的含义和用法,以及判断变量数据类型和指向变量或成员变量的类型的方法。还讨论了指针访问数组元素和下标法数组元素的等价关系,以及指针作为函数参数可以改变主调函数变量的值的特点。此外,文章还提到了指针在动态存储分配、链表创建和相关操作中的应用,以及类成员指针与外部变量的区分方法。通过本文的阐述,读者可以更好地理解和应用C语言中的指针。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 给定一个二维平面上的一些点,通过计算曼哈顿距离,求连接所有点的最小总费用。只有任意两点之间有且仅有一条简单路径时,才认为所有点都已连接。给出了几个示例并给出了对应的输出。 ... [详细]
  • 本文介绍了如何在给定的有序字符序列中插入新字符,并保持序列的有序性。通过示例代码演示了插入过程,以及插入后的字符序列。 ... [详细]
  • 如何基于ggplot2构建相关系数矩阵热图以及一个友情故事
    本文介绍了如何在rstudio中安装ggplot2,并使用ggplot2构建相关系数矩阵热图。同时,通过一个友情故事,讲述了真爱难觅的故事背后的数据量化和皮尔逊相关系数的概念。故事中的小伙伴们在本科时参加各种考试,其中有些沉迷网络游戏,有些热爱体育,通过他们的故事,展示了不同兴趣和特长对学习和成绩的影响。 ... [详细]
  • 判断数组是否全为0_连续子数组的最大和的解题思路及代码方法一_动态规划
    本文介绍了判断数组是否全为0以及求解连续子数组的最大和的解题思路及代码方法一,即动态规划。通过动态规划的方法,可以找出连续子数组的最大和,具体思路是尽量选择正数的部分,遇到负数则不选择进去,遇到正数则保留并继续考察。本文给出了状态定义和状态转移方程,并提供了具体的代码实现。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了Java数组的定义、初始化和多维数组的用法。通过动态初始化和静态初始化两种方式来初始化数组,并讨论了数组的内存分配和下标的特点。同时详细介绍了Java二维数组的概念和使用方法。 ... [详细]
  • 开发笔记:计网局域网:NAT 是如何工作的?
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了计网-局域网:NAT是如何工作的?相关的知识,希望对你有一定的参考价值。 ... [详细]
author-avatar
Fater-_635
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有