Java 嵌套循环-第三个循环?
编写一个程序,在屏幕上打印以下内容:Java 嵌套循环-第三个循环?,java,loops,nested,Java,Loops,Nested,编写一个程序,在屏幕上打印以下内容: 1 2 3 4 5 6 7 8 9 10 2 3 4 5 6 7 8 9 10 3 4 5 6 7 8 9 10 4 5 6 7 8 9 10 5 6 7 8 9 10 6 7 8 9 10 7 8 9 10 8 9 10 我在纠正嵌套循环时遇到了一点问题-我必须让它看起来像这样,但是数字不会在10处停止。代码将打印以下内容: 1 2 3 4 5 6 7 8 9 10 2 3 4 5 6 7 8 9 10 11 3 4 5 6
1 2 3 4 5 6 7 8 9 10
2 3 4 5 6 7 8 9 10
3 4 5 6 7 8 9 10
4 5 6 7 8 9 10
5 6 7 8 9 10
6 7 8 9 10
7 8 9 10
8 9 10
我在纠正嵌套循环时遇到了一点问题-我必须让它看起来像这样,但是数字不会在10处停止。代码将打印以下内容:
1 2 3 4 5 6 7 8 9 10
2 3 4 5 6 7 8 9 10 11
3 4 5 6 7 8 9 10 11 12
4 5 6 7 8 9 10 11 12 13
5 6 7 8 9 10 11 12 13 14
6 7 8 9 10 11 12 13 14 15
7 8 9 10 11 12 13 14 15 16
8 9 10 11 12 13 14 15 16 17
我是一个初学者程序员,需要这方面的帮助-您是否已经需要嵌套循环中的第三个循环?感谢您的帮助!以下是我目前的代码:
import java.util.Scanner;
public class LoopProgram
{
public static void main(String args [])
{
for (int e=0; e<8; e++)
{
for (int f=1; f<=10; f++)
{
System.out.print(f + e + " ");
}
System.out.println();
}
}
}
import java.util.Scanner;
公营课程
{
公共静态void main(字符串参数[])
{
对于(int e=0;e请在第二个循环中尝试:
for(int f=e;f<=10;f++)
两个循环就足够了
外部循环运行了八次,你已经开始工作了
但是,您的内部循环总是运行10次,这不是您想要的。您希望内部循环先运行10次,然后仅运行9次,然后仅运行8次等。这里的技巧是更改该内部循环的开始或结束值,如下所示:
for (int e=0;e<8;e++) {
for (int f=e+1; f<=10; f++) {
...
}
}
for(int e=0;e我想这就是你要找的
for(int e=1;e<9;e++) {
for(int f=e;f<=10;f++) {
System.out.print(f+" ");
}
System.out.println();
}
for(int e=1;e3个循环是严重的过度杀伤力。这可以用一个循环和两个计数器来完成
public class LoopProgram {
static final int LIMIT_1 = 8;
static final int LIMIT_2 = 10;
public static void main(String[] args) {
int a = 1, b = 2;
while(b <= (LIMIT_1 + 1)) {
System.out.print(a);
if(a < LIMIT_2) {
System.out.print(" ");
a++;
} else {
System.out.println();
a = b;
b++;
}
}
}
}
公共类循环程序{
静态最终整数限值_1=8;
静态最终整数极限_2=10;
公共静态void main(字符串[]args){
INTA=1,b=2;
而(b您只需要两个循环:
外部计数器将运行八次,内部计数器将从外部计数器的值开始运行(这使得每行计数最多为10,但始终从最后一行+1的第一个值开始),并在计数器小于10时运行
诸如此类:
for (int i = 0; i < 8; i++) {
for (int e = i; e < 10; e++) {
//print e + 1
}
}
for(int i=0;i<8;i++){
对于(int e=i;e<10;e++){
//打印e+1
}
}
您必须打印e+1,这样您的行就不会从0开始,而是从1开始,一直到10。这更多的是解释如何为您自己解决这类问题。在for循环的最常见情况下,您应该问自己关于索引变量的三个问题:
我希望它具有的第一个值是什么
在什么条件下,我想进行另一次迭代
它应该如何从一个迭代到另一个迭代
对于您的内部循环,答案如下:
e
下面是我应该怎么做的
for (int i = 1; i <= 8; i++) {
for (int j = i; j <= 10; j++)
System.out.print(j + " ");
System.out.println();
}
用于(int i=1;i为什么您需要第三个循环?这会给您带来什么好处?还有,为什么您要在循环中添加f
和e
?这毫无意义。数字不会停止,因为您正在打印f+e
,这将上升到17
,因为e
循环中的最大数字是7
a对于f
的nd是10
…你只需要在你的内部循环中设置f=e
,然后只打印f
。那么你就可以开始了。如果我在f+e的加法中去掉e,它会在10处停止,但会丢失它所取的增量。就像它这样打印:1234568910(x8)…我还没来得及写出一个恰当的提示,就有五个人给出了答案。加油,伙计们。哦,我现在明白了!谢谢!
for (int i = 1; i <= 8; i++) {
for (int j = i; j <= 10; j++)
System.out.print(j + " ");
System.out.println();
}