Java for循环和2D数组

时间:2014-01-20 09:01:11

标签: java for-loop multidimensional-array

此代码应该如此简单,但根本不起作用。它没有做任何事情。根据我的理解,它应该打印出一个低于21的10×10网格随机数。

import java.util.Random;
public class Map {
    static Random rnd = new Random();
    public static int coords[][] = new int[10][10];

    public static void main(String[] args){
        System.out.println("dastardly");
        Map.generate();
        Map.show();
    }

    public static void show() {
        for(int i = 0; i >= 10; i++){
            for(int j = 0; j >= 10; j++){
                System.out.print(coords[i][j]);
            }
            System.out.println("");
        }
    }

    public static void generate() { 
        for(int i = 0; i >= 10; i++){
            for(int j = 0; j >= 10; j++){
                coords[i][j] = rnd.nextInt(21);
            }
        }
    }
}

有人可以告诉我它为什么不起作用吗?

4 个答案:

答案 0 :(得分:2)

循环的终止条件是错误的:

j >= 10

应该是

j < 10

答案 1 :(得分:1)

for循环由三部分组成:

  • 初始化
  • 进入循环并继续循环的条件
  • 发布操作,在每次迭代后完成。

所以这个循环(以及其他循环):

for(int i = 0; i >= 10; i++){

无效,应更改为:

for(int i = 0; i < 10; i++){

如果你有一些麻烦记住它,那么把for循环看成只是一个while循环:

int i = 0;
while (i < 10) {
  // instructions
  i++;
}

答案 2 :(得分:1)

更改

i >= 10;i < 10;

j >= 10;j < 10;

答案 3 :(得分:0)

工作代码:

变更:

i&gt; = 10 i&lt; 10

j&gt; = 10 j&lt; 10

import java.util.*;
import java.lang.*;
import java.io.*;


class Map 
{
     static Random rnd = new Random();
    public static int coords[][] = new int[10][10];
    public static void main (String[] args) throws java.lang.Exception
    {
        System.out.println("dastardly");
        Map .generate();
        Map .show();
    }
    public static void show() {
        for(int i = 0; i < 10; i++){
            for(int j = 0; j < 10; j++){
                System.out.print(coords[i][j]);
            }
            System.out.println("");
        }
    }

    public static void generate() { 
        for(int i = 0; i <10; i++){
            for(int j = 0; j < 10; j++){
                coords[i][j] = rnd.nextInt(21);
            }
        }
    }
}

输出:

971756192091315
181318132191661920
100141331158018
66131218111611183
12112141501721516
27361013751614
相关问题