dataUtil

	/**
	 * 二維座標軸上, 以自身的座標爲原點, 截取固定範圍[m, n]的座標軸, 得到:
	 * [-m, -m-1, -m-2, ..., -2, -1, 0(自身位置), 1, 2, ..., n-1, n]
	 * 
	 * @param dictString m_n, 即[m, n] 
	 * @return 一個二維數組
	 */
	public static int[][] generate2DArraysInt(String dictString) {
		
		String[] dictRange = dictString.split("_");
		int rangeLeft  = Integer.parseInt(dictRange[0]); // left size
		int rangeRight = Integer.parseInt(dictRange[1]); // right size
		int[][] rangeArr = new int[2][];
		rangeArr[0] = new int[rangeLeft];
		rangeArr[1] = new int[rangeRight];
		// origin-left
		for (int i = rangeLeft; rangeLeft > 0; rangeLeft--) {
			rangeArr[0][rangeLeft - 1] = -(i - rangeLeft + 1);
		}
		// origin-right
		for (; rangeRight > 0; rangeRight--) {
			rangeArr[1][rangeRight - 1] = rangeRight;
		}
		return rangeArr;
	}

	/**
	 * 從一個二維數組中隨機取一個數字
	 * 
	 * @param arrays
	 * @return
	 */
	public static int randomNumFrom2DArrays(int[][] arrays) {
		
		int side = RandomUtil.randomInt(arrays.length);
		int[] sideArr = arrays[side];
		return sideArr[RandomUtil.randomInt(sideArr.length)];
	}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章