急!用Java编写一个嵌套的for循环打印下列图案:

1121123211234321123454321123456543211234567654321123456787654321希望高手能帮我解决下哈!谢谢啊!还有第一个... 1

1 2 1

1 2 3 2 1

1 2 3 4 3 2 1

1 2 3 4 5 4 3 2 1

1 2 3 4 5 6 5 4 3 2 1

1 2 3 4 5 6 7 6 5 4 3 2 1

1 2 3 4 5 6 7 8 7 6 5 4 3 2 1

希望高手能帮我解决下哈!谢谢啊!
还有第一个1要在中间,其实就是一个金字塔形。
展开
 我来答
flyingFish211
2011-03-13 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.1亿
展开全部
public class Du {

public static void main(String[] args) {
final int num = 8;//要输出几行就在这里控制了

int[][] ary = fillArray(num);

for (int i = 0; i < ary.length; i++) {
for (int j = 0; j < ary[i].length; j++) {
if(ary[i][j] != 0){
System.out.print(ary[i][j] + " ");
}else{
System.out.print(" " + " ");
}

}
System.out.println();
}

}

private static int[][] fillArray(final int num) {
int[][] ary = new int[num][num * 2 - 1];

for (int i = 0; i < ary.length; i++) {

int start = i + 1;
// 向前打印到1
for (int j = num; ary[i][j--] != 1;) {
ary[i][j] = start--;
}

// 向后打印到1
start = i;
for (int j = num - 1; ary[i][j++] != 1;) {
ary[i][j] = start--;
}

}
return ary;
}

}
---------------------------
1
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
1 2 3 4 5 4 3 2 1
1 2 3 4 5 6 5 4 3 2 1
1 2 3 4 5 6 7 6 5 4 3 2 1
1 2 3 4 5 6 7 8 7 6 5 4 3 2 1
来自:求助得到的回答
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ba...y@qq.com
2011-03-13
知道答主
回答量:54
采纳率:0%
帮助的人:35.3万
展开全部
package test;
//包名可以不要 建一个叫Test3的类 就行了
public class Test3
{
public static void main(String args[])
{
//控制行数
for(int i=1;i<=8;i++)
{
//输出每行开始的空格
for(int n=1;n<=(8-i);n++)
{
System.out.print(" ");
}
for(int j=1;j<=i;j++)
{
System.out.print(j);
//当数字等于每行最大的时候 递减输出
if(j==i)
{
for(int m=i-1;m>=1;m--)
{
System.out.print(m);
}
}
}
//输出每行结束的空格
for(int n=1;n<=(8-i);n++)
{
System.out.print(" ");
}
System.out.println("");
}
}
}

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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式