0

さまざまなランダムな文字で構成される 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"       
}

}

4

2 に答える 2

0

あなたの文字列は範囲外です。設定する前に初期化してみてください。

if (region == 4){
    String letters= "EFGH"; 
}
System.out.println(letters.charAt(0));

if ステートメントのスコープ内で文字が定義されているため、エラーが発生します。ご希望の方は下記以外でもご利用いただけます。

String letters = "";
if (region == 4){
    letters= "EFGH"; 
}
System.out.println(letters.charAt(0));
于 2013-11-13T22:01:11.987 に答える