【发布时间】:2013-11-26 17:21:55
【问题描述】:
我正在尝试制作一个 12 x 12 表,其中包含不同的随机字母,但用户可以选择它是否包含 4 个不同的字母,3 或 2...但是我收到一个错误,即字符串无法解析,我不知道为什么...请帮助...
import java.util.Scanner;
import java.util.Arrays;
import java.util.Random;
public class PlayingArea {
public static void main(String[] args){
int N = letters.length();//error here "letters cannot be resolved"
Random r = new Random();
Scanner input = new Scanner(System.in);
System.out.println("How many regions would you like (2- 4)");
int region = input.nextInt();
if (region == 4){
String letters= "EFGH";
}
if (region == 3){
String letters= "EFG";
}
else if (region == 2){
String letters= "EF";
}
else { System.out.println("You inputed a wrong value, try again...");
}
char [][] letter = new char[12][12];
for (int j = 0; j < letter.length; j++){
for(int i=0; i < letter.length; i++) {
letter[i][j] = letters.charAt(r.nextInt(N)) ;
}
}
for (char[] letterRow : letter)
System.out.println(Arrays.toString(letterRow)); //error here "letters cannot be resolved"
}
}
【问题讨论】:
-
哪里出错了?
-
什么是
letters?我没有看到任何lettersString初始化。我认为您正在获得 NPE。 -
发布整个错误/异常文本,包括堆栈跟踪。
-
这里:int N = letters.length();和: 字母[i][j] = letters.charAt(r.nextInt(N)) ;
-
letters在使用前未声明或初始化。
标签: java arrays string loops random