有人能解释一下Java嵌套循环是如何使用数字模式的吗?
我很难理解嵌套循环和数字模式是如何工作的。我已经完成了除3之外的所有模式。有人能帮我解释一下这个代码吗有人能解释一下Java嵌套循环是如何使用数字模式的吗?,java,for-loop,nested-loops,Java,For Loop,Nested Loops,我很难理解嵌套循环和数字模式是如何工作的。我已经完成了除3之外的所有模式。有人能帮我解释一下这个代码吗 public class Patterns7{ public Patterns7() { } public void displayPatternI(int lines) { System.out.println("\n\tPattern I\n"); for (int i = 1; i <= lines; i++)
public class Patterns7{
public Patterns7() {
}
public void displayPatternI(int lines)
{
System.out.println("\n\tPattern I\n");
for (int i = 1; i <= lines; i++)
{
for (int j = 1; j <= i; j++)
System.out.print (j + " " );
System.out.println();
}
}
public void displayPatternII (int lines)
{
System.out.println("\n\tPattern II to be implemented\n");
for (int i = 1;i <= lines; i++)
{
for(int j = i;j >= 1; j--)
System.out.print(j);
System.out.println();
}
System.out.println();
}
public void displayPatternIII (int lines)
{
System.out.println("\n\tPattern III to be implemented\n");
for (int i = 1; i <= lines; i++)
{
for (int space = 1; space <= lines-i; space++)
System.out.print (" ");
for (int j = 1; j <= i; j++)
System.out.print (j + " ");
System.out.println();
}
System.out.println();
}
}
但我能做的就是:
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1 2 3 4 5 6
我不确定如何让输出从6开始,然后减少然后增加
模式V应该是这样的:
6
56
456
3456
23456
123456
1
2 1 2
3 2 1 2 3
4 3 2 1 2 3 4
5 4 3 2 1 2 3 4 5
6 5 4 3 2 1 2 3 4 5 6
1
1 2 3
1 2 3 4 5
1
2 1 2
3 2 1 2 3
4 3 2 1 2 3 4
5 4 3 2 1 2 3 4 5
6 5 4 3 2 1 2 3 4 5 6
6 5 4 3 2 1 2 3 4 5 6
5 4 3 2 1 2 3 4 5
4 3 2 1 2 3 4
3 2 1 2 3
2 1 2
1
1
1 2 3
1 2 3 4 5
1 2 3 4 5
1 2 3
1
但结果是这样的:
6
56
456
3456
23456
123456
1
2 1 2
3 2 1 2 3
4 3 2 1 2 3 4
5 4 3 2 1 2 3 4 5
6 5 4 3 2 1 2 3 4 5 6
1
1 2 3
1 2 3 4 5
1
2 1 2
3 2 1 2 3
4 3 2 1 2 3 4
5 4 3 2 1 2 3 4 5
6 5 4 3 2 1 2 3 4 5 6
6 5 4 3 2 1 2 3 4 5 6
5 4 3 2 1 2 3 4 5
4 3 2 1 2 3 4
3 2 1 2 3
2 1 2
1
1
1 2 3
1 2 3 4 5
1 2 3 4 5
1 2 3
1
代码:
但看起来是这样的:
6
56
456
3456
23456
123456
1
2 1 2
3 2 1 2 3
4 3 2 1 2 3 4
5 4 3 2 1 2 3 4 5
6 5 4 3 2 1 2 3 4 5 6
1
1 2 3
1 2 3 4 5
1
2 1 2
3 2 1 2 3
4 3 2 1 2 3 4
5 4 3 2 1 2 3 4 5
6 5 4 3 2 1 2 3 4 5 6
6 5 4 3 2 1 2 3 4 5 6
5 4 3 2 1 2 3 4 5
4 3 2 1 2 3 4
3 2 1 2 3
2 1 2
1
1
1 2 3
1 2 3 4 5
1 2 3 4 5
1 2 3
1
有人能帮我解释一下怎么做吗?你一次只能问一个问题,但这里有一个解决你第一个问题的方法。对于
SIZE
等于6:
public void displayPatternIII (int lines)
{
System.out.println("\n\tPattern III to be implemented\n");
for (int i = lines; i >= 1; i--)
{
int space = 1;
for (; space <= i-1; space++)
System.out.print (" ");
for (int j = space; j <= lines; j++)
System.out.print (j);
System.out.println();
}
}
123456
您可能需要以下内容:
String temp;
for(int i = 0; i < SIZE; i++)
{
temp = "";
for(int j = SIZE - i; j <= SIZE ; j++)
{
temp += j;
}
System.out.printf("%" + SIZE + "s\n", temp);
}
字符串温度;
对于(int i=0;i 对于(intj=SIZE-i;j)调试器:“我可以解释!!”问得很糟糕。这是你的家庭作业吗?@Maroun Maroun好的。我做错了什么?@Kon这是一个每个人都花更多时间批评问题而不是回答问题的网站吗?如果是的话,你能告诉我一个对初学者更友好的网站的方向吗?你至少应该努力更好地“放大”在你的问题上,找出那些不符合你期望的东西。软件开发人员所期望的品质之一就是能够很好地解释你的问题。仅仅发布大量的代码并发布“请解决这个问题!”不是这里的想法。你真的愿意研究和学习吗?附言:有时候这个网站对新手来说很难rs.接受。它可能会提供一些有用的建议。谢谢你的帮助。我不明白你为什么把String temp放在那里。@KelliDavis-他把每一行作为字符串而不是数字输出。首先,你用连接运算符将每一个数字构造成字符串-6、56、456等等。内部循环创建数字,然后用作输出。@我很好。那么i和j究竟控制什么?它们是如何工作的?i是行的数量,j是数字吗?反之亦然?@KelliDavis看到这一点的最好方法是自己跟踪循环。