• 締切済み

配列が使えない

double Rand[] = new double[5]; Rand[0] = 6.28; Rand[1] = 7.28; Rand[2] = 8.28; Rand[3] = 9.28; Rand[4] = 10.28; 以上のような配列の記述を含んだソースファイルをコンパイルすると ']'がありません といったメッセージが出てきてコンパイルエラーが出てきます。 ただし double Rand[] = {6.28,7.28,8.28,9.28,10.28}; といった宣言の仕方をするとコンパイルエラーが出てきません。 for文などを使いたいので最初のほうの方法で配列を使いたいのですがどうしたらよいのでしょうか。 Java初心者の私にぜひ教えてください。お願いします。

みんなの回答

  • kaihou100
  • ベストアンサー率83% (10/12)
回答No.5

 ん~。  どうもかかれている範囲にはエラーが無いようですね…。  ということは、他の部分に原因があるように見えます。  まだ、解決されていないのなら、作成したクラスを 全文、コピー&ペーストで貼り付けると、もう少しなにか 分かるかもしれません。  または、ご自身のサイトに圧縮してuploadしておくとか

yuk2
質問者

お礼

おこたえいただきありがとうございます。 問題は根本的に解決していませんが書いた範囲以外に有りそうと解っただけでも科なりの前進になったと思います。 何とか自分で頑張ってみたいと思います。 ありがとうございました。

回答No.4

yuk2さん解決できましたか?このページの1番下に貼ってあるエラー文を見たところ Rand[0] = 6.28; の1つ前の文章の } が抜けているのではないでしょうか? それか Rand[0] = 6.28; の文以前にエラーがある可能性がかなり高いと思います。 Rand[0] = 6.28; の前に何行あるか知りませんが、この文の前にエラーがあると思います。 がんばってください。

yuk2
質問者

お礼

お答えいただきありがとうございます。 「Rand[0] = 6.28; の1つ前の文章の } が抜けているのではないでしょうか? 」 と言う所はかなりありがたいアドバイスになると思います。 まだJavaの勉強が足りていないのでお答えを参考にして頑張ってみたいと想います。 ありがとうございました。

  • aton
  • ベストアンサー率47% (160/334)
回答No.3

もしかしたら,Randという名前のクラスを同じスコープ内で別に使用していませんか? (例えば,import somepackage.Rand; として別に定義したクラスRandをimportしてるとか) #1の補足に, > test.java:14:シンボルを解釈処理できません。 > シンボル:クラス Rand > 位置 :testのクラス > Rand[0] = 6.28 > ^ とあるので,Randは変数ではなくクラスとして解釈されているように思えます。 例えば,配列変数名を randomNumber などに変更して, double randomNumber[] = new double[5]; randomNumber[0] = 6.28; randomNumber[1] = 7.28; randomNumber[2] = 8.28; randomNumber[3] = 9.28; randomNumber[4] = 10.28; として試してみてください。

yuk2
質問者

お礼

おこたえいただきありがとうございます。 示して頂いた通りにやってみたのですが。結果は駄目でした。 でも問題が変数の書きかたではなさそうだと言うことで一歩前進したと想います。ありがとうございました。

  • kaihou100
  • ベストアンサー率83% (10/12)
回答No.2

多分に、一般的なコンパイラの字句解析機の動きから考えて、 double Rand[] と変数Randが double[]であると宣言している つもりの場所が、変数Rand[]がdoubleであると宣言されて いると解釈されてしまい、変数Randの値が見つからないと 言われているように見えるのですが。  私のほうで元ソースをチェックしたところ、wogotaさんの ように、問題なくコンパイルが通りましたので。 (Win2000Pro + Sun J2SDK1.4.0_01)  そこでお尋ねいたします。 1. 利用しているOSは? 2. 利用しているJVMの製造元と製品名、バージョンは? 3. 利用している統合開発環境の名前は?  3は利用なされている場合のみで十分ですが、1と2は なるべく詳しく答えていただければ、多分に結論が 出やすくなると思われます。

yuk2
質問者

お礼

お答えいただきありがとうございます。 1.OSはWindows98です 2.JVMはJ2SDK1.3 です。これ以上のことは私には分かりません。 是非、お願いします。教えてください。

  • wogota
  • ベストアンサー率42% (66/154)
回答No.1

最初の例で、問題なくコンパイルできます。 なので、なぜエラーが出てくるかがわかりかねます。 本当は、javacが吐き出すエラーメッセージを貼り付けていただいたら、 原因がわかる方が大勢居られると思いますので、まず、 エラーメッセージを補足していただけますか。

yuk2
質問者

補足

おこたえいただきありがとうございます。 正確には下記のようなメッセージが出ます。分かりましたら是非お答えをお願いします。 test.java:14:']'がありません。 Rand[0] = 6.28; ^ test.java:14:<identifier>がありません。 Rand[0] = 6.28; ^ test.java:14:シンボルを解釈処理できません。 シンボル:クラス Rand 位置 :testのクラス Rand[0] = 6.28 ^ 

関連するQ&A