[英]Java for loops and 2D arrays
这段代码应该很简单,但根本无法使用。 它什么也没做。 据我了解,它应该打印出10到10的21以下的随机数网格。
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);
}
}
}
}
谁能告诉我为什么它不起作用?
循环的终止条件是错误的:
j >= 10
应该
j < 10
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++;
}
更改
i >= 10;
到i < 10;
和
j >= 10;
到j < 10;
工作代码:
变化 :
i> = 10至i <10
j> = 10至j <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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.