【实例简介】

实现棋盘覆盖问题

【实例截图】

【核心代码】

public static void chessBoard(int dr, int dc, int tr, int tc, int size) {

if (size == 1) {

return;

}

int t = tile ;

/**  分割棋盘后的size  */

int s = size / 2;

// 判断特殊方格是否在左上角的小棋盘中

if (tr < dr  s && tc < dc  s) {

chessBoard(dr, dc, tr, tc, s);

} else {

board[dr  s - 1][dc  s - 1] = t;

chessBoard(dr, dc, dr  s - 1, dc  s - 1, s);

}

// 判断特殊方格是否在右上角的小棋盘中

if (tr < dr  s && tc >= dc  s) {

chessBoard(dr, dc  s, tr, tc, s);

} else {

board[dr  s - 1][dc  s] = t;

chessBoard(dr, dc  s, dr  s - 1, dc  s, s);

}

// 判断特殊方格是否在左下角的小棋盘中

if (tr >= dr  s && tc < dc  s) {

chessBoard(dr  s, dc, tr, tc, s);

} else {

board[dr  s][dc  s - 1] = t;

chessBoard(dr  s, dc, dr  s, dc  s - 1, s);

}

// 判断特殊方格是否在右下角的小棋盘中

if (tr >= dr  s && tc >= dc  s) {

chessBoard(dr  s, dc  s, tr, tc, s);

} else {

board[dr  s][dc  s] = t;

chessBoard(dr  s, dc  s, dr  s, dc  s, s);

}

}

public static void main(String[] args) {

try{

if(args[0]!=null){

SIZE = Integer.parseInt(args[0], 10);

}

if(args[1]!=null){

TR = Integer.parseInt(args[1], 10);

}

if(args[2]!=null){

TC = Integer.parseInt(args[2], 10);

}

}catch(Exception e){

System.out.print("\t(部分)采用默认参数");

}

System.out.printf("\t棋盘规模:%d*%d",SIZE,SIZE);

System.out.printf("\t特殊方格:(%d,%d)",TR,TC);

java棋盘覆盖_棋盘覆盖问题实现相关推荐

  1. java 一般方法_一般覆盖Java中的方法

    JLS # 8.4.2. Method Signature The signature of a method m1 is a subsignature of the signature of a m ...

  2. java单元测试如何全覆盖_单元测试代码覆盖率的浅谈

    在做单元测试时,代码覆盖率通常被拿来作为衡量测试好坏的指标,甚至,用代码覆盖率来考核测试任务完成情况.比如,代码覆盖率必须达到80%或90%.于是乎,测试人员费尽心思设计案例覆盖代码,用代码覆盖率来衡 ...

  3. java 反射覆盖方法,java – 确定一个方法是否覆盖使用反射的另一个?

    有没有一个 existing answer来确定一个方法是否被覆盖,如果没有泛型涉及. Java将由于type erasure而完全删除泛型类型.因此字节码将是: class FooImpl impl ...

  4. 【java基础18:方法覆盖与多态】什么时候使用方法覆盖 toString方法的覆盖 多态的基础语法与作用 向上/向下转型

    目录 方法覆盖Override 多态 方法覆盖Override 方法覆盖初体验,什么样的程序要方法覆盖 /*当前程序存在的问题(设计上的问题)??鸟儿在执行move()方法的时候,最好输出的结果是:& ...

  5. csrf漏洞防御方案_变量覆盖漏洞利用及防御方案

    一.漏洞简介 变量覆盖漏洞是指攻击者使用自定义的变量去覆盖源代码中的变量,从而改变代码逻辑,实现攻击目的的一种漏洞.通常来说,单独的变量覆盖漏洞很难有利用价值,但是在与其他应用代码或漏洞结合后,其造成 ...

  6. 棋盘代码_【案例】 绘制国际象棋棋盘?(turtle 登场)

    案例介绍 今天我们来用 turtle 画一个国际象棋棋盘,大小为 8x8. ​国际象棋棋盘 turtle 绘图(海归绘图)很适合用来引导孩子学习编程,请想象绘图区有一只机器海龟,起始位置在 x-y 平 ...

  7. python多个条件组合覆盖_白盒测试 语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖...

    ·昂贵 ·无法检测代码中遗漏的路径和数据敏感性错误 ·不验证规格的正确性 六种覆盖方法 首先为了下文的举例描述方便,这里先给出一张程序流程图.(本文以1995年软件设计师考试的一道考试题目为例,图中红 ...

  8. 学习笔记:Java 并发编程①_基础知识入门

    若文章内容或图片失效,请留言反馈. 部分素材来自网络,若不小心影响到您的利益,请联系博主删除. 视频链接:https://www.bilibili.com/video/av81461839 视频下载: ...

  9. 学习笔记:Java 并发编程②_管程

    若文章内容或图片失效,请留言反馈. 部分素材来自网络,若不小心影响到您的利益,请联系博主删除. 视频链接:https://www.bilibili.com/video/av81461839 配套资料: ...

最新文章

  1. Docker | Docker技术基础梳理(五) - Docker网络管理
  2. 【鸿蒙 HarmonyOS】UI 布局 ( 网格布局 TableLayout )
  3. grid autosport额外内容下载慢_清理大王app下载-清理大王v1.0安卓下载
  4. python模拟上传多张图片
  5. mysql账户最小授权_mysql 创建帐号并授权
  6. 10个 NPM 使用技巧
  7. HTTrack 网站备份工具
  8. Dev-C++配置问题
  9. 计蒜客-跳跃游戏(贪心)
  10. ERP系统“数字排产”功能,实现企业高效排产
  11. 酷狗缓存文件kgtemp解密
  12. 仿“当当网”首页-Flash图片轮换
  13. 计算机专业考研难么,计算机专业考研难吗
  14. 【历史上的今天】4 月 4 日:互联网新时代的缔造者出现;微软成立;苹果公司元老诞生
  15. 计算机开始菜的mstsc命令,Win10一周年更新版系统CLSID(GUID)汇总
  16. 线程和协程详解-python
  17. linux设置sfq队列参数,Linux系统运维之Linux高级流量控制工具TC使用方法
  18. 梯度下降算法动图_一文读懂梯度下降算法
  19. mysql添加约束的语句论坛_Mysql通过sql语句添加约束和查看约束
  20. ssm体育用品库存管理毕业设计-附源码211712

热门文章

  1. dcdc电源模块(三隔离)供电24V单输出1000V的大功率升压电源模块设计
  2. windows下的EPS格式文件查看工具EPS Viewer
  3. 2020-11-16-cpp-mfc-error-C1189-windows和afxv_w32的冲突
  4. 计算机中日期连接符号,电脑时间不能同步,在命令提示符里输入w32tm
  5. JAVA文法bnf_关于java:BNF命题逻辑ANTLR的语法
  6. ftp 操作,支持断点续传或者继续下载。
  7. python+appium,常见报错与解决方法
  8. 方正微型计算机U210,方正文祥u2!10怎么样
  9. Win10笔记本关闭或禁用触控板
  10. Django之爱鲜蜂项目开发 day05(一)