- ベストアンサー
エラーが消えません
Exception in thread"main"java.lang.ArrayIndexOutOfBoundsException at PortOpener.main(PortOpener.java:106) って何なんでしょう? プログラムのエラーがいつもわけがわかりません。 どこかにそういうのが載っているところを知っている人教えてください.
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
補足を見ての回答ですが、このプログラムを起動させるときのコマンドを教えてください。 恐らく、プログラム実行時に2つの引数が必要になるので >java PortOpener 引数1 引数2 と実行しないといけないのですが、この「引数1」と「引数2」にあたる部分がないために出ている例外だと思います。
その他の回答 (3)
- ponpon
- ベストアンサー率19% (67/345)
どんなプログラムを書いたのでしょうか? それが分かるとアドバイスが出来そうですが。 普段から困っているのであればdreamweaverを使うといいですよ。 デバック作業も行え、どこが間違っているか指摘してくれます。
Javaの実行時に発生する例外の種類は、すべてクラスで定義されています。 ですから、 >どこかにそういうのが載っているところを知っている人教えてください. と言うご質問の回答は、「APIドキュメント」を見てくださいということになります。 でも、もう少し細かいことが必要ですよね。 まず、 「java.lang.ArrayIndexOutOfBoundsException」が例外の種類です。 「配列の添え字がおかしいよ」という意味です。よく起こる場合として、 int a[] = new int[10]; a[10] = 1; のように、配列のサイズより大きい添え字を指定したときに起こります。 int a[] = new int[10]; for(int i=0; i<=10 ;i++){ a[i] = 10; } こんなコードを書いても、発生します。 (Javaの配列の添え字は「0」以上「要素数-1」以下です) で次にですが、 (PortOpener.java:106) これで、どこでその例外が発生したかを教えてくれています。 PortOpener.javaというファイルの106行目で例外が発生していますので、ソースファイルを見直してください。 では、がんばってください。
- ranx
- ベストアンサー率24% (357/1463)
> わけがわかりません と言われてもねえ。 これはbassboostさんの作ったプログラムですか? もしそうなら、PostOpener.javaの160行目で、配列の引数の値が間違っています。 そうでないなら、作った人に直してもらうしか手はありません。 とりあえず、FAQの載っているサイトを紹介しておきますが、参考になりますか?
補足
public static void main(String args[]){ PortOpener opener = new PortOpener(args[0], args[1]); こんなです。自分で作ってないでいろんなとこから持ってきて実行してみてる状態なんで... アドバイスいただけるとうれしいです。