• ベストアンサー

ArrayIndexOutOfBoundsException

BLACKTALONの回答

回答No.2

Javaは配列にプリミティブデータもオブジェクトの参照もとれますし データがどんなものはいっていたかわかんないので 質問だけじゃちょっと推測ができません。 宣言と代入部分をある程度引用していただければありがたいのですけど。

sunasearch
質問者

補足

すみません。「プリミティブデータ」と「オブジェクトの参照」の意味がわからないので、教えていただければ幸いです。 配列はint型で、 int a[] = new int[10]; と宣言しました。 添え字が宣言の範囲(0-9)を越えることはなく、他の部分では正常に動作しました。 個人的には、 b[i]+c[i]の記述がそれぞれの値の足し算ではなく、 値へのポインタの足し算になっているような気がします。(エラーの内容から) ただ、それがマシン依存なのかJavaのバージョンのせいなのか、 このエラー原因の推測が正しいのかは全くの不明です。

関連するQ&A

  • Illustrator10が快適に使える最低限のappleのノートパソコンは?

    現在Windos版のIllustrator10を、pen4・2.8G、メモリ・1GのWindowsデスクトップマシン環境で使用しています。ノートパソコンを買おうと思うのですが、この際Macも良いかな、と。(1)仕事でIllustrator10を使用するので、それが快適に動作すること、(2)貧乏なのでできるだけ安いマシンであること、それぞれの希望についてベストな中古Macノートは何でしょうか?iBookG4(1.07GHz、1G)あたりを考えていますがどうでしょうか? よろしくお願い致します。

  • プログラム起動

    PC2台ありメーカー、型名、OS(windowsXP)同じです。 PC AとBとします。 AのCドライブ/Program FilesをBのCドライブ/Program Files一旦削除後コピーしたらBのProgram Filesにあるプログラムは正常動作しますか?

  • コマンドライン実行とPHPのEXEC実行

    C言語プログラムの不具合に悩んでいます。 ◇以下抜粋ソース static int a=0; ・・・ int 関数A(){ /*別ファイルで使用*/ ・・・   a=256; ・・・ } int 関数B(){ int i; ・・・ for(i=0;i<a;i++){ if(for文を抜ける条件){break;} } if(i==a){ printf(エラー!);} ・・・ } ◇以上抜粋ソース 上記のソースより常にi=a=0になってしまうので常にエラーとなる気がするのですがいまいち確信が持てません。 というのも、このソースは他の人から頂いたもので、コマンドラインから実行すると何故か100パーセント正常動作するのです。 しかしブラウザを起動して、PHPファイルにアクセスし、PHPのEXEC関数から実行すると3回に1回ほどの割合で(エラー!)がでます。 3回に2回は正常動作します。 似たような不具合を御経験の方がおられれば何卒御教示ください。 よろしくお願いします。

  • WindowsでコンパイルできるがUNIXではできない

    下記のプログラムは、2^-0.94を計算するものです。 このプログラムはwindows2000のマシンでコンパイルできるのですが、UNIXのマシンだと Unresolved text symbol "pow" というエラーがでてコンパイルできません。 UNIXのマシンは「cc ファイル名」でコンパイルを実行します。 どうすればコンパイルできるようになるのでしょうか。お手数ですが、教えてください。よろしくお願いします。 ※windows2000マシンのコンパイラ:Borland C++ Compiler 5.5 #include <stdio.h> #include <math.h> int main() { int a; double b,c; a=2; b=-0.94; c=pow(a,b); printf("%lf\n",c); return 0; }

  • _access関数が EACCES エラーとなる

    _access関数が EACCES エラーとなる問題があり、識者の方、どうか ご教授願います。 <環境> ・Windows2000 Pro ・VC++ 6.0 事象の説明を以下にします。 A、B、Cの3つのプログラムがあります。 A:サービスから起動されるプログラム B:Aから CreateProcess関数により起動される。 Cを CreateProcess関数により起動する。 C:Bから CreateProcess関数により起動される。 _access関数で、ネットワーク上の別のマシンの共有されている フォルダをアクセスする。 上記の環境で、A→B→Cと起動し、Cがネットワーク上の別のマシンを アクセスしようとすると EACCES のエラーになります。 (EACCES は errno.h で定義されています。) しかし、サービスのAからではなく、Bから起動した場合は正常に アクセスできます。 C単体でもOKでした。 A、B共に、CreateProcess関数の第3、4パラメータのセキュリティ関連の パラメータには NULL を指定しています。 サービスの何らかの情報を継承しているのでしょうか。 回避策、アドバイスなど、よろしくお願いします。

  • ノートとデスク、OSでインストされる中身は同じ?

    新しいMacを購入したりしてマシンの引越しのさいに、例えばMacminiのHDDをMacBookに乗せ変えて使用してもとりあえず使用できるようですが、インストールされているOSはノートでもデスクトップでも中身は変わらないものなのでしょうか?それとも個別マシン毎にインストールされるプログラムも少しずつ違うものなのでしょうか? お詳しい方、解説いただけたらと思います。よろしくお願いします。

    • ベストアンサー
    • Mac
  • PC間のファイルのコピーについて

    先日、WindowsマシンAからあるファイルをWindowsマシンB、Cにコピーしたところ、 先輩社員から 「今回のような場合、マシンB、CからマシンAのファイルを取りに行きなさい。  FTPの場合も、Getはいいけど、Putは駄目!」 と注意を受けました。 その理由を教えていただけませんでしょうか? FTPを使用する人はPutは使わないのでしょうか? 宜しくお願いします。

  • バージョン違いのJRE切替え方法

    2つのソフトウェアがあり、使用しているJREの バージョンがAソフトは1.3.1_05、Bソフトは1.4.2_07と なっています。 この2つのソフトウェアを1つのWindowsマシン(XP、2000)で利用したいのですが、使用するJREのバージョンを 簡単に切替はできないのでしょうか? Aソフト、Bソフト共にJREのバージョンが異なる場合は 正常動作しません。 方法をご存知でしたら教えてください。

  • パッケージ作成後のインストール時のエラー

    VB6でプログラムを作成後、ディストリビューションウィザードでインストールファイルを作成しました。 開発機(WindowsXP)上では問題なくインストールできるのですが、Windows98SEでは 「ファイル 'C:\WINDOWS|SYSTEM\msado25.tbl'の登録中にエラーが発生しました」 と表示されます。 無視ボタン押して終了後、動作確認するとプログラムは正常に動作はします。 エラーの原因とできればエラー表示がでないようにしたいのですが・・・・・・・。

  • Windows7 Enterprise(評価版)64Bit版のDLL検索パスについて

    Windows7 Enterprise(評価版)32Bit版をインストールし、XPで動作していた32Bit関連DLLを C:\Windows\System32 配下に格納しました。 動作を確認したところ正常に動作するようです。 ところがWindows7 Enterprise(評価版)64Bit版で同様の動作確認を行ったところ関連DLLがないためプログラムを開始できないとエラーが出てしまいます。 下記のフォルダにDLLを格納したら正常に起動できました。  ■アプリを起動したフォルダ  ■C:\Windows  ■C:\Windows\System どうして C:\Windows\System32 に格納した場合、そのDLL見つからないのか分かりません。 API関数GetSystemDirectory()を呼び出すと"C:\Windows\System32"と返却されますし環境変数 PATH には C:\Windows\System32 が設定されています。 32Bit版と64Bit版で違いがあるのでしょうか? どうぞ、ご教授お願い致します。