• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Javaのコードのことで質問があります)

Javaで中置表記法を後置表記法に変換するプログラムを作成し、エラーが発生する

このQ&Aのポイント
  • Javaで作成した中置表記法を後置表記法に変換するプログラムがエラーを発生させて正常に実行できない状況です。
  • エラーメッセージは「Exception in thread 'main' java.lang.ArrayIndexOutOfBound...」ですが、エラーの具体的な原因がわかりません。
  • 31行目と150行目のコードを見てもエラーの原因が特定できません。質問者は助言を求めています。

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

  • ベストアンサー
  • tama_zou
  • ベストアンサー率57% (4/7)
回答No.2

敢えて答えを書きます。 main()メソッドの中の  stac stac1 = new stac(); だけでは、stacクラスのstac配列が初期化されないことが原因。 直後の行に次の1行を追加してみて。  stac1.initStack(); Java初心者のようですが、コードが汚過ぎて読む気が起きません。 他人に質問するときは、もう少しマシなコードにするよう心がけてください。

usausagina
質問者

お礼

解決しました どうもありがとうございます やっぱりコード汚いですよね^^; 次に質問することがあるときはもっとTabや改行をしっかり入れて見易くします どうも親切にありがとうございました

その他の回答 (1)

回答No.1

ArrayIndexOutOfBoundException、です。 「配列の要素数を超えてアクセスした」場合に起きるエラーです。 at gotPriority.gotPriority(toPostfix.java:31) at toPostfix.main(toPostfix.java:150) は、要するに31行目でエラーが起きたと言うことです。 より詳しく言うと、31行目を含む gotPriority.gotPriority メソッドが、 toPostfix.main の150行目から呼ばれてエラーが起きた、という旨が書かれています。 ということで、 ・配列の範囲を超えるアクセスがあるか? ・あるとしたら、何が悪かったのか? を考えてみてください。 答えは敢えて言いません、なんか行数も少し違ってますから。コメント省略しました?

usausagina
質問者

お礼

はい 配列の内容に補足文をつけていたのですが文字数がオーバーしたのでそれらを省略しました

関連するQ&A