蛇形矩阵

来源:互联网 发布:欧美直播软件 编辑:程序博客网 时间:2024/06/11 19:19

/**
 * 蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形<br/> 提示:使用如下代码可打印空格和换行<br/> <code>
 */
public class Demo {

 /** 空格 */
 public static final String SPACE = " ";

 /** 换行 */
 public static final String LINE_SEPERATOR = "\r\n";

 /**
  * <pre>
  * 输入一个不大于100的数字,产生蛇形矩阵字符串
  *
  * 例如输入5时,产生如下蛇形矩阵输出字符串,每个数字之间用空格分开
  * 1 3 6 10 15
  * 2 5 9 14
  * 4 8 13
  * 7 12
  * 11
  * </pre>
  *
  * @param number
  *            不大于100的数字
  * @return 蛇形矩阵字符串(需要控制换行)
  */
 public String getResult(int number) {
  if (number == 0 || number > 100) {
   return null;
  }
  StringBuffer sb = new StringBuffer();

  if (number == 1) {
   sb.append(1);
  } else {
   int lineSum=1;
   int sum = 0;
   for (int i = 0; i < number; i++) {
    
    lineSum=lineSum+i;
    sb.append(lineSum + SPACE);
    sum=lineSum;
    for (int j = 2 + i; j <= number; j++) {
     sum = sum + j;
     sb.append(sum + SPACE);
    }
    
    sb.append(LINE_SEPERATOR);
   }
  }
  System.out.println(sb.toString());
  return sb.toString();
 }

 public static void main(String[] args) {
  Demo demo = new Demo();
  demo.getResult(6);
 }
}