二维布尔型数组.java

来自「为移动电话写的俄罗斯方块游戏,没什么特别的,模块化设计是本程序的特色,也是我至今」· Java 代码 · 共 75 行

JAVA
75 行
字号
//package 方块;
/**
二维布尔型数组.java
功能:二维布尔型对象的类
@author Joedan hongguangming@sohu.com
*/
class 二维布尔型数组
{
	private boolean [][] data;//数据
	private int 最大行号, 最大列号;
	二维布尔型数组(int 行数, int 列数)
	{
		data = new boolean[行数][列数];
		最大行号 = 行数 - 1;
		最大列号 = 列数 - 1;
	}
	public boolean 取得元素(int 行号, int 列号)
	{
		if (行号 < 0 || 行号 > 最大行号 ||
		    列号 < 0 || 列号 > 最大列号)//元素位置不合法,返回false
			return false;
		return data[行号][列号];
	}
	public void 设置元素(int 行号, int 列号, boolean 值)
	{
		if (行号 < 0 || 行号 > 最大行号 ||
		    列号 < 0 || 列号 > 最大列号)//元素位置不合法,直接返回
			return;
		data[行号][列号] = 值;
	}
	public void 设置元素(boolean [] _data)
	{
		for (int i = 0; i < _data.length; i++)//将一维数组值按行列顺序依次赋给data
			//[i / (最大列号 + 1)][i % (最大列号 + 1)]算出行号和列号
			data[i / (最大列号 + 1)][i % (最大列号 + 1)] = _data[i];
	}
	public int 取得最大行号()
	{
		return 最大行号;
	}
	public int 取得最大列号()
	{
		return 最大列号;
	}
	public void _删除某行(int 行号)
	{
		for (int i = 行号; i > 0; i--)//将其前所有行后移
			data[i] = data[i - 1];
		data[0] = new boolean[最大列号 + 1];//最上一行用空行补充
	}
	public void 删除某行(int 行号)
	{
		for (int i = 行号; i < 最大行号; i++)//将其后所有行前移
			data[i] = data[i + 1];
		data[最大行号] = new boolean[最大列号 + 1];//最后一行用空行补充
	}
	public void 列印()
	{
		for (int i = 0; i <= 最大行号; i++)
		{
			for (int j = 0; j <= 最大列号; j++)
				System.out.print(data[i][j] + " ");
			System.out.println("");
		}
	}
	public static void main(String args[])
	{
		二维布尔型数组 test = new 二维布尔型数组(3, 3);
		test.设置元素(1, 1, true);
		test.设置元素(1, 2, true);
		test.列印();
		test.删除某行(1);
		test.列印();
	}
};

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?