2016-08-25 10 views
0
for(i=0; i<=2; i++){ 
    if(i=0){ 
     System.Out.println("Input x: "); 
     int x=input.nextInt(); 
     if(x==1){ 
      char[] a={'A','B','C'}; 
     } 
     else if(x=2){ 
      char[] a={'D','E','F'}; 
     } 
     else{ 
      char[] a={'G','H','I'}; 
     } 
    } 

ループのために[]の値が変更される&入力xで決定された値。ここで私の質問は、どのように[]の値を別の変数にループごとに格納し、それらの値を持つ別の多次元配列を作ることができますか?誰か助けてください。前もって感謝します。動的に変化する単純配列を使用して多次元配列を作成するにはどうすればよいですか?

+3

は、第一および第三に気をつけて:あなたは割り当てを使用しています演算子、等しくない! – Baderous

+0

あなたはどんな問題がありますか?私の知る限り、あなたのコードはコンパイルされません。あなたは解決したい問題ですか? – talex

答えて

0

いくつかのコードは、あなたが軌道に乗るために:

char[][] matrix = new char[2][4]; 
for (int i=0; i < 2; i++) { 
    // now create an array for the columns 
    matrix[i]= new char[4]; 
    // now you could do 
    for (int j=0; j < 4; j++) { 
    matrix[i][j] = ... 
    } 
    // or 
    char[] row = { '1', '2', '3', '4' }; 
    matrix[i] = row; 
} 

をアイデアは、あなたが最初にあなたが持っているどのように多くの行と列と言うことです。 次に、最初のディメンションを反復処理し、各反復中に2番目のディメンションの値を設定できます。

+0

そのような配列初期化子を使用することは合法だとは思わない... –

+0

@StephenCどうしてですか? – user1803551

+0

@StephenCあなたは正しいです、あなたの入力のおかげで! – GhostCat

1

あなたが実際に探しているものを確かめるのは難しいですが、これはあなたにいくつかのアイデアを与えるかもしれません。少なくとも、構文が正しいはずです:注意すべき

char[][] array = new char[3][]; 
for (int i = 0; i < array.length; i++) { 
    System.out.println("Input x: "); 
    int x = input.nextInt(); 
    if (x == 1) { 
     array[i] = new char[] {'A', 'B', 'C'}; 
    } else if (x == 2) { 
     array[i] = new char[] {'D', 'E', 'F'}; 
    } else { 
     array[i] = new char[] {'G', 'H', 'I'}; 
    } 
} 

もの:

  1. ケースは重要です。それはSystem.outではなく、System.Outです。
  2. 割り当ての場合は=、プリミティブタイプの場合は==を使用して同等かどうかをテストします。 (しかし、一般的に他のタイプではありません!)
  3. 読みやすくするために、インデントと一貫した空白の使用が重要です。スタイルガイドラインに従ってください。
+0

あなたは "注意しなければならないこと"には大文字小文字の問題があります。どのような皮肉:) – talex

+0

固定.................... –

0

私はむしろ、むしろ非暗示コードよりも要件に基づいて、あなたの問題を解決するが、ここに行くでしょう:if文

final int total=2; 
char[][] a=new char[total][]; 
for (int i=0;i<total;i++){ 
    System.Out.println("Input x: "); 
    int x=input.nextInt(); 
    switch(x){ 
     case 1: 
      a[i]=new char[]{'A','B','C'}; 
     break; 
     //Other cases... 
    } 
} 
関連する問題