• ベストアンサー

書き込みエラーの意味

カテゴリに自信がありません。 初心者です。 よろしくお願いいたします。 最後に catch (Exception e) { System.out.println("書き込みエラー:" + e); System.exit(1); } をつけた、javaのプログラムを実行すると、 書き込みエラー:java.lang.ArrayIndexOutOfBoundsException: 365 というメッセージが出ます。 同じプログラムでも何度も実行するとその度に最後の「365」の部分の数字が変わります。 このエラーの意味のわかる方いらっしゃいましたら教えて下さい。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

Arrayは配列ですね。 不正なインデックスで配列がアクセスされてます。 詳細は、このサイトを見てください。↓ http://msugai.fc2web.com/java/trydemo.html

kogukogu2
質問者

お礼

ありがとうございました。 最初に決めた数字以上のインデックスでアクセスしようとしていました^^; 無事、解決することがでしました。

関連するQ&A

  • プログラムからの返答の意味がわかりません..

    import java.io.*; public class Teme { public static void main(String [] args) { String [] command = { "C:\\Users\\yuzumodoki\\Desktop\\chunkparser-1.0\\chunkparser-1.0\\parser.exe", "aaaa" }; // 外部プログラムを実行 Runtime runtime = Runtime.getRuntime(); Process process = null; try { process = runtime.exec(command); } catch(Exception exception) { System.err.println(exception.getMessage()); exception.printStackTrace(); System.exit(-1); } // 外部プログラムの標準出力から読み込み BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream())); System.out.println(br); try { String line; while((line = br.readLine()) != null) { System.out.println(line); } } catch(Exception exception) { System.err.println(exception.getMessage()); exception.printStackTrace(); System.exit(-1); } finally { try { br.close(); } catch(Exception exception) { System.err.println(exception.getMessage()); exception.printStackTrace(); System.exit(-1); } } } } 上記のプログラムはparser.exeにアクセスし,そのアプリケーションに文字列を送り,処理をしてその結果を取得するというものです. 本来"aaaa"と送ると"(aaaa aaaa)"と返ってくるプログラムなのですが, java.io.BufferedReader@89ae9e と返ってきます.これはなぜだかわかる方いらっしゃいますか?また,aaaa aaaaと本来の値を返すにはどうすればいいかわかる方いらっしゃいませんか.. もしわかる方いらっしゃたら教えて頂けたらすごくうれしいです(つj)

  • エラーが消えません

    Exception in thread"main"java.lang.ArrayIndexOutOfBoundsException at PortOpener.main(PortOpener.java:106) って何なんでしょう? プログラムのエラーがいつもわけがわかりません。 どこかにそういうのが載っているところを知っている人教えてください.

    • ベストアンサー
    • Java
  • CLASSPATHいじったらコンパイルエラー

    今までちゃんと動いていたプログラムが動かなくなりました。 原因が分かりません。どなたか教えてください。 環境------------ WinXP Eclipse Indigo JDK 1.6.0_2 --------------- やったこと 1.環境変数CLASSPATHを設定 2.CLASSPATHを削除 3.Windows再起動 これをやったら今まで動いてたやつが以下のエラーで コンパイルできなくなりました(;;) java.lang.NoClassDefFoundError: Print Caused by: java.lang.ClassNotFoundException: Print at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) Exception in thread "main" 不要と思いますがソースもノッケテおきます。 -*-*-*-*-*-*-*-*-*-*- public class Print { public static void main(String[] args) { try{ int n[] = {1,2,3}; for (int i = 0; i < 10; i++){ System.out.println(n[i]); } } catch(ArrayIndexOutOfBoundsException e){ System.out.println("配列の範囲を超えています"); } System.out.println("終了しまーす"); } } -*-*-*-*-*-*-*-*-*-*- よろしくお願いします。

    • ベストアンサー
    • Java
  • 実行時に出るエラーの意味が解りません

    Javaで、「SystemFont 」というクラス名をつけて プログラムを組み、コンパイルしてその後実行したところ Exception in thread "main" java.lang. NoClassDefFoundError:SystemFont というエラーが表示されるだけで実行できません。 このエラーの示す意味をどなたか教えて頂けませんか?

    • ベストアンサー
    • Java
  • java 実行エラーについて

    プログラムを実行すると、 Exception in thread "main"java.lang.NoClassDefFoundError:Sample と出ます。理由がわかる人はぜひ教えてください。 一応プログラムを載せておきます。 < Sample.java > public class Sample{ public static void main(String[] argc){ System.out.println("Hello World!"); } } お願いします。

    • ベストアンサー
    • Java
  • このエラーって?

    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 at DrawPolygon.main(DrawPolygon.java:7) java初心者です。授業についていけず困ってます。どなたかこのエラーの意味を初心者の私にもわかるよーに教えてください。

    • ベストアンサー
    • Java
  • プログラムコードを書いて実行するとエラーが起きる

    今JAVAのプログラムの勉強(初心者)をしているのですが、とある参考書のプログラムコードを書いて実行すると Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 at rensyu7.pkg1.Rensyu71.main(Rensyu71.java:18) Java Result: 1 というエラーが起きておりどこがエラーなのかコードを眺めてみたのですがよくわかりません。 クラス: Rensyu71 package rensyu7.pkg1; import java.lang.reflect.*; public class Rensyu71 { /////////////////////////////////////////////////////////////////////////////// // mainメソッド ////////////////////////////////////////////////////////////////////////////// public static void main (String[] args) { String FQCN = args[0]; String hairetu = args[1]; try { Class<?>class1 = Class.forName (FQCN); listMethods (class1); //listMethodsの呼び出し if (hairetu.equals ("E")) { launchInternal (class1); //launchInternalメソッドの呼び出し }else if(hairetu.equals ("I")){ launchInternal (class1); //launchInternalメソッドの呼び出し }else{ throw new IllegalArgumentException ("起動方法が不正です"); } } catch (Exception e) { System.out.println (e.getMessage ()); e.printStackTrace (); System.exit (1); } showmemory (); //showmemoryの呼び出し System.exit (0); } /////////////////////////////////////////////////////////////////////////// // listMethodsメソッド //////////////////////////////////////////////////////////////////////////// public static void listMethods(Class<?>class1){ System.out.println ("メソッド一覧を表示します"); Method[]hairetu2 = class1.getDeclaredMethods (); for (Method m : hairetu2) { System.out.println (m.getName ()); } } //////////////////////////////////////////////////////////////////////////// // launchExternalメソッド //////////////////////////////////////////////////////////////////////////// public static void launchexternal(Class<?>class1) throws Exception{ ProcessBuilder PB = new ProcessBuilder ("java",class1.getName ()); Process process = PB.start (); process.waitFor (); } //////////////////////////////////////////////////////////////////////////// /// launchInternalメソッド //////////////////////////////////////////////////////////////////////////// public static void launchInternal(Class<?>class1)throws Exception{ Method m = class1.getMethod ("main", String[].class); String[] args = {}; m.invoke (null, (Object)args); // } //////////////////////////////////////////////////////////////////////////////// // shoememoryメソッド /////////////////////////////////////////////////////////////////////////////// public static void showmemory(){ long free = Runtime.getRuntime ().freeMemory (); long total = Runtime.getRuntime ().totalMemory (); long memorisiyouryou = (total-free)/1024/1024; System.out.println ("現在のメモリの使用量:"+memorisiyouryou+"MB"); } } ============================================================================ クラス:MemoryEater package rensyu7.pkg1; public class MemoryEater { public static void main (String[] args) { System.out.println ("eating memory・・・・・・・"); long[] larry = new long[128000]; for (int i = 0; i <larry.length; i++) { larry[i]=i; } } } 滅茶苦茶なプログラムですが、初心者ですので大目にみてください。 どこを直せば実行できますか?どなたかご教授願います。

    • ベストアンサー
    • Java
  • エラーの原因がわかりません

    JAVA初心者ですが、ファイル入力を行うプログラムを実行 すると、エラーが出ますが、そのエラーの原因が まったく見当がつきません。 誰か教えてください。 ------------読み込みデータ(loc.dat) 2 11 1 4 1 5 7 1 3 7 7 2 12 11 1 4 1 11 12 4 1 5 3 1 1 11 13 4 1 5 2 1 -------------プログラム import java.io.*; class ExReader {   public static void main(String[] args) { try { //読み込みファイル指定 FileReader fr = new FileReader("loc.dat"); BufferedReader br = new BufferedReader(fr); //ファイルから1行ずつ読み込む String s; while ((s = br.readLine()) != null) { System.out.println(s); } //読み込みファイルをクローズする br.close(); } catch (Exception e) { System.out.println("err: "+e); System.exit(1); } } } ---------------コンパイル結果 C:\JAVA\sim>javac ExReader.java ExReader.java:7: シンボルを解決できません。 シンボル: コンストラクタ FileReader (java.lang.String) 場所 : FileReader の クラス FileReader fr = new FileReader("loc.dat"); ^ ExReader.java:8: シンボルを解決できません。 シンボル: コンストラクタ BufferedReader (FileReader) 場所 : java.io.BufferedReader の クラス BufferedReader br = new BufferedReader(fr); ^ エラー 2 個

    • ベストアンサー
    • Java
  • ファイル名に変数を使う(Java)

    初心者です。よろしくお願いします。 Javaで、ファイル名に変数を使ってファイルを作成する方法を教えて下さい。 例えば1.txtから100.txtまで100個のファイル(全部中身は『1』)を作りたい場合でお願いします。 下のコードを100回のforループに入れればいいと思うのですが、 “○○○”の部分がわかりません。 よろしくお願いします。 try {   PrintWriter fout = new PrintWriter(new BufferedWriter(   new FileWriter("○○○.txt"))); fout.println(1); fout.close(); } catch (Exception e) { System.out.println("書き込みエラー:" + e); System.exit(1); }

    • ベストアンサー
    • Java
  • 実行するとよくわからないエラーがでる

    これを実行すると import java.lang.Integer; import java.lang.NumberFormatException; import java.lang.String; import java.lang.System; public class Animal { public static void main(String[] A00) { final int L00 = 6; int L01 = 0; int L02 = 0; int L03 = 0; if (A00.length < 3) { System.out.println("使用例 >java Animal 1969 6 26"); System.exit(1); } try { L01 = Integer.parseInt(A00[0]); L02 = Integer.parseInt(A00[1]); L03 = Integer.parseInt(A00[2]); } catch (NumberFormatException L04) { System.out.println("生年月日には数字を指定してください。"); System.exit(1); } int L05 = (L01 + L02 + L03) % L00; System.out.printf("%d年%d月%d日生まれのあなたは...%n", L01, L02, L03); switch (L05) { case 0: System.out.println("穏やかな心をもったヒツジです。"); break; case 1: System.out.println("おっとりマイペースのコアラです。"); break; case 2: System.out.println("自分が一番のライオンです。"); break; case 3: System.out.println("孤独が大好きなオオカミです。"); break; case 4: System.out.println("お調子者のサルです。"); break; case 5: default: System.out.println("不思議な性格のタスマニアンデビルで す。"); break; } } } # guarantee(_name_index != 0 && _signature_index != 0) failed: bad constant pool index for fieldDescriptor とエラーがでるのですが これはどういう意味でしょうか?

    • ベストアンサー
    • Java

専門家に質問してみよう