Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
For循环内部For循环java_Java_Loops_For Loop_Nested Loops - Fatal编程技术网

For循环内部For循环java

For循环内部For循环java,java,loops,for-loop,nested-loops,Java,Loops,For Loop,Nested Loops,我试图在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);

我试图在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");    
            }
        }
    }
}
import java.util.*;
公开课考试{
公共静态void main(字符串[]args){
System.out.println(“给我一个号码:”);
扫描仪kb=新扫描仪(System.in);
int i=kb.nextInt();
对于(inti2=i;i2
System.out.println(“给我一个数字:”);
扫描仪kb=新扫描仪(System.in);
int size=kb.nextInt();
整数高度=大小;
整数宽度=大小;
对于(int i=0;i
您需要为每个循环使用单独的变量。否则,您将永远不会运行外部循环的第二次迭代。当您在内部完成时,
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(int j=0;j
您对两个循环使用相同的循环计数器,
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();
    }

}
publicstaticvoidmain(字符串[]args)引发异常{
整数=4;
for(int i=0;i
system.out.println应该在外部打印,而不是内部打印。另外,i2正在被内部for循环修改。为内部for循环的控制变量使用不同的变量。每个循环都应该有自己的计数器,您的内部循环使用的是外部循环也使用的
i2
。您应该关闭e
扫描仪
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();
    }

}