当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

[简单]代码片段_电梯数字排列

发表于: 2015-04-23   作者:53873039oycg   来源:转载   浏览:
摘要:        今天看电梯数字排列是9 18 26这样呈倒N排列的,写了个类似的打印例子,如下:       import java.util.Arrays; public class 电梯数字排列_S3_Test { public static void main(S

       今天看电梯数字排列是9 18 26这样呈倒N排列的,写了个类似的打印例子,如下:
      

import java.util.Arrays;

public class 电梯数字排列_S3_Test {
	public static void main(String[] args) {
		电梯数字排列_S3_Test t = new 电梯数字排列_S3_Test();
		int totalFloorNum=13;
		int colNum=5;
		t.getLiftNum(totalFloorNum, colNum);
		System.out.println();
		t.getLiftNumSeq(totalFloorNum, colNum);
		
	}
	
	/**
	 * @param totalFool  :楼层数
	 * @param colNum :每列数量
	 */
	public void getLiftNumSeq(int totalFloorNum, int colNum) {
		int colSum = (totalFloorNum - 1) / colNum + 1;
		int[][] liftArr = new int[colNum][colSum];
		for (int i = 0; i < colSum - 1; i++) {
			for (int j = 0; j < colNum; j++) {
				liftArr[j][i] = i * colNum + j + 1;
			}
		}
		// 最后一列
		for (int k = 0, klen = totalFloorNum - (colSum - 1) * colNum; k < klen; k++) {
			liftArr[k][colSum - 1] = (colSum - 1) * colNum + k + 1;
		}
		for (int[] is : liftArr) {
			System.out.println(Arrays.toString(is));
		}
	}

	/**
	 * @param totalFool  :楼层数
	 * @param colNum :每列数量
	 */
	public void getLiftNum(int totalFloorNum, int colNum) {
		int colSum = (totalFloorNum - 1) / colNum + 1;
		int[][] liftArr = new int[colNum][colSum];
		for (int i = 0; i < colSum - 1; i++) {
			for (int j = 0; j < colNum; j++) {
				liftArr[j][i] = (colNum - j) * (i + 1) + i * j;
			}
		}
		// 最后一列
		for (int k = 0, klen = totalFloorNum - (colSum - 1) * colNum; k < klen; k++) {
			liftArr[k][colSum - 1] = totalFloorNum - k;
		}
		for (int[] is : liftArr) {
			System.out.println(Arrays.toString(is));
		}
	}
}

 

[简单]代码片段_电梯数字排列

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号