题目描述:
方阵的主对角线之上称为“上三角”。
package string_pracitice; import java.util.Scanner; public class SpiralDemo3 { public static void main(String[] args) { new SpiralDemo3().run(); } public void run(){ Scanner in = new Scanner(System.in); int n = in.nextInt(); int value[][] = new int[n][n]; int direction = 1; // 1向右,0向左下,2向上 int x=0; int y=0; for(int i=0;i<((1+n)*n)/2;i++){ if(value[y][x]==0){ value[y][x]=i+1; if(direction==1){//向右 if(x+1<n&&value[y][x+1]==0){ x++; }else{ direction=0; x--; y++; } }else if(direction==0){//向左下 if(y+1<n&&x-1>=0&&value[y+1][x-1]==0){ x--; y++; }else{ direction=2;//向上 y--; } }else{//向上 if(y-1>=0&&value[y-1][x]==0){ y--; }else{ direction=1; x++; } } } } for(int i=0;i<n;i++){ for(int j=0;j<n-i;j++){ if(j == 0) System.out.print(value[i][j]); else{ System.out.print(" "+value[i][j]); } } System.out.println(); } } }
要求格式:每个数据宽度为4,右对齐。
原文:http://blog.csdn.net/u014010769/article/details/44676653