此代码应该如此简单,但根本不起作用。它没有做任何事情。根据我的理解,它应该打印出一个低于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);
}
}
}
}
有人可以告诉我它为什么不起作用吗?
答案 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