用java 循环 数组 怎么打印这个

 我来答 举报
zhouhaibing089
2014-03-03 · TA获得超过331个赞
知道答主
回答量:80
采纳率:0%
帮助的人:96.5万
展开全部
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
public class Main {
 
    public static void main(String[] args) {
        for (int y = 0; y >= -8; --y) {
            for (int x = -8; x <= 8; ++x) {
                if (f1(x, y) || f2(x, y) || f3(x, y) || f4(x, y) || f5(x, y)
                        || f6(x, y)) {
                    System.out.print('*');
                else {
                    System.out.print(' ');
                }
 
                if (x == 8) {
                    System.out.println();
                }
            }
        }
    }
 
    public static boolean f1(int x, int y) {
        if (x < 0 || x > 8) {
            return false;
        }
        return y == 0;
    }
 
    public static boolean f2(int x, int y) {
        if (x < -8 || x > 0) {
            return false;
        }
        return y == -8;
    }
 
    public static boolean f3(int x, int y) {
        if (x < -8 || x > 0) {
            return false;
        }
        return x == y;
    }
 
    public static boolean f4(int x, int y) {
        if (x < 0 || x > 8) {
            return false;
        }
        return (x - y) == 8;
    }
 
    public static boolean f5(int x, int y) {
        if (y < -8 || y > 0) {
            return false;
        }
        return x == 0;
    }
 
    public static boolean f6(int x, int y) {
        if (x < -8 || x > 8) {
            return false;
        }
        if (x % 2 == 1) {
            return false;
        }
        return (x / 2 - y) == 4;
    }
}

运行截图:

希望对你有用。

百度网友21a360264
2014-03-04 · TA获得超过1856个赞
知道小有建树答主
回答量:640
采纳率:100%
帮助的人:371万
展开全部
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class N {
public static void main(String[] args) {
    int i, j;
    for(i=8; i>=0;i--)
    {
        for(j=0; j<i; j++)
            System.out.print(' ');
        for(j=0; j<9; j++)
        {
            if(i==0 || i==8)
                System.out.print('*');
            else if(j==0 || j==8 || j==i || i+j==8)
                System.out.print('*');
            else
                System.out.print(' ');
        }
        System.out.println("");
    }
}
}
本回答被提问者和网友采纳
1 已赞过 已踩过<
你对这个回答的评价是?
评论 举报 收起
DF727042585
2014-03-03 · 超过16用户采纳过TA的回答
知道答主
回答量:30
采纳率:0%
帮助的人:23.8万
展开全部
public class PrismaticTest {

public static void main(String[] args) {
// TODO Auto-generated method stub
int[][] array=new int[9][17];
for(int i=8;i<17;i++){ //for循环打印第一行和最后一行,将需要输出*的位置赋值为1
array[0][i]=1;
array[8][16-i]=1;
}
for(int i=1;i<8;i++){//for循环打印最左边和最右边以及中间垂直的,赋值1
array[i][8-i]=1;
array[i][16-i]=1;
array[i][8]=1;
}
int m=2;
for(int i=1;i<8;i++){//for循环打印斜对角的,同理赋值1

if(m<16){
array[i][16-m]=1;
m=m+2;
}
}
for(int i=0;i<9;i++){ //遍历数组,赋值1的打印*号,否则就为空格
for(int j=0;j<17;j++){
if(array[i][j]==0){
System.out.print(" ");
}
else{
System.out.print("*");
}

}
System.out.println("");
}

}
抢首赞 已赞过 已踩过<
你对这个回答的评价是?
评论 举报 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式