您的位置:首页 > 职场人生

java 面试小题积累<平面图形问题>

2016-04-06 15:02 956 查看
3

7

2

4

6

8

1

5

9

平面图形 :打印实现M

1)Num=9, int height=num/2+1, width=num;

2)y从height-1到0再到height-1变化

package it.xiehe.Demo;

public class Demo03 {
/*
* 打印如下图所示图形(平面图形题)
*   3   7
*  2 4 6 8
* 1   5   9
*/
public static void main(String[] args) {
int num = 9;// 定义要打印的数字个数
int height = num / 4 + 1;//九个数字分成四条边
int weidth = num;
int arr[][] = new int[height][weidth];// 定义二维数组存储图形
int x = height-1;
int y = 0;
boolean flage = false;// 加减标志
// 1、赋值
for (int i = 1; i <= num; i++) {
arr[x][y] = i;
y++;
if (!flage) {
x--;
}
if (flage) {
x++;
}
if (x < 0) {
flage = true;
x = x + 2;
}
if (x > height-1) {
flage = false;
x = x - 2;
}
}
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[0].length; j++) {
if (arr[i][j] == 0) {
System.out.print(" ");
} else {
System.out.print(arr[i][j]);
}
}
System.out.println();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: