For循环内部For循环java
我试图在for循环中获得for循环,因此输出如下: 我希望输出显示一个正方形 我不知道它为什么不这样做。 下面是我的代码: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);
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;i2System.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();
}
}