【发布时间】:2014-09-27 07:24:33
【问题描述】:
我必须编写代码来打印以下内容:
999999999888888887777777666666555554444333221 999999999888888887777777666666555554444333221 999999999888888887777777666666555554444333221 999999999888888887777777666666555554444333221
我能走多远
9999999998888888888777777777666666666555555555444444444333333333222222222111111111 999999999888888888877777777766666666655555555544444444433333333322222222211111111 999999999888888888877777777766666666655555555544444444433333333322222222211111111 999999999888888888777777777666666666555555555444444444333333333222222222111111111
但不知道如何让每次迭代减一
这是我所拥有的:
public static void main(String[] args)
{
for(int i = 0; i < 4; i++)
{
for(int j = 9; j >= 1; j--)
{
System.out.print(j);
for(int k = 9; k > 0; k--)
{
System.out.print(j);
}
}
System.out.println();
}
}
这是我目前对我的理解:第一个循环 (i) 控制要创建的行数,而第一个嵌套循环 (j) 按降序打印数字 9 到 1。第三个嵌套循环 (k) 决定打印每个数字的次数。我现在需要做的是每次迭代循环时将该数字减一。老实说,我有点迷失在这里的代码中。我知道我需要另一个 for 循环,它会导致我的 k 循环在每次迭代时减少一个,但无法弄清楚将它放在哪里让它这样做。我试图像这样在 k 循环内嵌套一个循环:
public static void main(String[] args)
{
for(int i = 0; i < 4; i++)
{
for(int j = 9; j >= 1; j--)
{
System.out.print(j);
for(int k = 9; k > 0; k--)
{
System.out.print(j);
for(int l = 9; l > 0; l--)
{
System.out.print(j);
}
}
}
System.out.println();
}
但这没有用。我尝试将它放在 k 循环之前,但这也不起作用。所以现在我基本上把自己弄糊涂了,完全不知道该做什么。
【问题讨论】:
-
编辑最里面的循环,不要和0比较。提示,提示
-
你很亲密。不要让 SO 上的破坏运动因为发布得太快而破坏了您的成就感。没有比在努力尝试后得到正确的感觉更好的感觉了。
标签: java nested-loops