当前位置: 首页 > 知识库问答 >
问题:

for循环内部for循环java

艾敏学
2023-03-14

我试图在for循环中获得for循环,因此输出如下:

我希望输出显示一个正方形

我不知道它为什么不这样做。下面是我的代码:

import java.util.*;
public class test {

    public static void main(String[] args) {
        System.out.println("Give me a number : ");
        Scanner kb = new Scanner(System.in);
        int i = kb.nextInt();
        for(int i2=i;i2<i+i;i2++) {
            System.out.print("x");
            for( i2=i;i2<i+i;i2++) {
                System.out.println("x");    
            }
        }
    }
}

共有3个答案

莫翰藻
2023-03-14
    System.out.println("Give me a number : ");
    Scanner kb = new Scanner(System.in);
    int size = kb.nextInt();
    int height = size;
    int width = size;
    for (int i = 0; i < height; i++) {
        for (int j = 0; j < width; j++) {
            System.out.print("X");
        }
        System.out.println();
    }
史良哲
2023-03-14

两个循环都使用相同的循环计数器,i2。因此,当你的内部循环执行时,你将把i2的值增加1。这会一直持续到i2到达指定的停车点。然后内部循环结束。然后返回到外循环,外循环检查i2是否超过停止点。由于增加了内循环中的i2值,它已经超过了截止点,外循环停止。

要解决这个问题,请为每个循环使用单独的变量。见下文。我使用I作为外循环,j作为内循环,number作为截止点。

public static void main(String[] args) throws Exception {

    int number = 4;

    for (int i = 0; i < number; i++) {
        for (int j = 0; j < number; j++) {
            System.out.print("X");
        }
        System.out.println();
    }

}
蒋浩
2023-03-14

您需要为每个循环设置单独的变量。否则,您将永远无法运行外部循环的第二次迭代。当您完成内部时,您的i2处于外部条件的最大值。

此外,您只需要内部循环上的System.out.print()

for (int j = 0; j < i; j++) {
    for (int k = 0; k < i; k++) {
        System.out.print("x");
    }
    // When you're done printing the "x"s for the row, start a new row.
    System.out.print("\n");
}
 类似资料:
  • for循环是一种重复控制结构,允许您有效地编写需要执行特定次数的循环。 语法 (Syntax) Perl编程语言中for循环的语法是 - for ( init; condition; increment ) { statement(s); } 这是for循环中的控制流 - init步骤首先执行,只执行一次。 此步骤允许您声明和初始化任何循环控制变量。 只要出现分号,就不需要在此处输入声明。

  • ' for '循环是最紧凑的循环形式。 它包括以下三个重要部分 - loop initialization ,我们将计数器初始化为起始值。 初始化语句在循环开始之前执行。 test statement将测试给定条件是否为真。 如果条件为真,则执行循环内给出的代码,否则控件将退出循环。 iteration statement ,您可以在其中增加或减少计数器。 您可以将所有三个部分放在一行中以分号分隔

  • 问题 你想通过一个 for 循环来迭代数组、对象或范围。 解决方案 # for(i = 1; i<= 10; i++) x for x in [1..10] # => [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ] # To count by 2 # for(i=1; i<= 10; i=i+2) x for x in [1..10] by 2 # => [ 1, 3, 5,

  • for循环是一种重复控制结构,允许您有效地编写需要执行特定次数的循环。 语法 (Syntax) Objective-C编程语言中for循环的语法是 - for( init; condition; increment ) { statement(s); } 这是for循环中的控制流 - init步骤首先执行,只执行一次。 此步骤允许您声明和初始化任何循环控制变量。 只要出现分号,就不需要在此

  • For loop是一种重复控制结构,允许您有效地编写需要执行特定次数的循环。 语法 (Syntax) 在R中创建for循环语句的基本语法是 - for (value in vector) { statements } 流程图 (Flow Diagram) R for for循环特别灵活,因为它们不限于整数,甚至输入中的数字。 我们可以传递字符向量,逻辑向量,列表或表达式。 例子 (Exam

  • for循环是一种重复控制结构,允许您有效地编写需要执行特定次数的循环。 Scala中有各种形式的for循环,如下所述 - 语法 - for range with range 在Scala中使用范围的for循环的最简单语法是 - for( var x <- Range ){ statement(s); } 在这里, Range可以是一系列数字,并且表示为i to j或某些时候像i until