Java之二维数组的相关练习(二)

本文介绍了如何实现Java中二维数组的顺时针打印,通过控制四个方向的边界条件实现。此外,还讲解了循环报数游戏的逻辑,通过模拟报数过程并剔除被淘汰者,最终找出获胜者的编号。
摘要由CSDN通过智能技术生成

顺时针打印二维数组

主要思想:对于二维数组顺时针打印,相当于循环打印圈,不过圈是越来越小的。打印的起始位置横纵坐标相同(start,start),开始打印,分四个方向打印(左->右,上->下,右->左,下->上),但要注意边界判断条件,例如:当该二维数组为一行时,就只需要进行第一步打印,即第二步的前提条件是终止行号大于其实行号而第三步的前提条件是该二维数组至少是两行两列的,即第三步的前提条件是除了要满足第二步的条件外,还要满足终止列号大于起始列号;第四步的前提条件是该二维数组至少是三行两列的,即终止列号比起始行号至少大2,且终止列号大于起始列号。而整个循环继续的条件为y>start*2&&x>start*2。

public static void printArray(int[][] arr,int start){
		//顺时针打印数组(四个for循环,4个方向,注意边界问题)
		int x=arr.length,y=arr[0].length;
		int lx=x-1-start;//行结束
		int ly=y-1-start;//列结束
		for(int j=start;j<=lx;j++){//从左到右打印
			int value=arr[start
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值