急!用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要在中间,其实就是一个金字塔形。 展开
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要在中间,其实就是一个金字塔形。 展开
2个回答
展开全部
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
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
来自:求助得到的回答
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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("");
}
}
}
请采纳
//包名可以不要 建一个叫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("");
}
}
}
请采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询