• 締切済み

InputReader OutputReaderクラスの使い方

以下のmainソースのコンパイルをInputReaderクラス OutputReaderクラスを使ってやりたいのですが うまくいきませんのでよろしくおねがいします。 エラーはシンボルの解釈ができないというものが です。 ////////////////mainファイル package jp.co.aj.main; import jp.co.aj.util.*; import jp.co.aj.data.*; import jp.co.aj.out.*; public class AJ1002 extends OutputWriter{ public static void main(String arg[]){ try{ InputReader ir = new InputReader(arg[0]); /* 入力データクラスの作成 */ OutputWriter ow = new OutputWriter(arg[1]); /* 出力データクラスの作成 */ AddressData address = new AddressData(); /* クラスの生成 */ AddressConvert convert = new AddressConvert(); ir.open(); /* オープン */ ow.open(); int kosu = arg.length; /* 引数の個数 */ for(int i = 0;i < kosu;i++){ /* 次レコードの読み込み */ ir.nextData(); String id = arg[i]; /* id取得 */ /*以下省略/* /* ワーク領域の出力 */ ow.writeData(); } catch(Exception reigai){ /* 例外 */ outputException(reigai); /* エラ */ } } }

みんなの回答

  • yusukey
  • ベストアンサー率56% (17/30)
回答No.3

当初の問題は解決されたということですね? せっかくですから何をどうしたら解決したのか書き記してはいかがでしょうか? 皆さんで情報共有することを目的とした場所ですから。 また、NoClassDefFoundError は当初の問題とは別の現象のようですので焦点を明確にするためにも別の質問として登録されてはいかがでしょう。

rozannu
質問者

補足

デバックツールeclipseでエラーの部分を1つ1つつぶして いく(ちなみにeclipseはどのように直すかを明記してくれます。)事で問題を解決しました。今回のソースでは public class AJ1002 extends OutputWriter{ public TSAJ1002(String string) { super(string); } のようにコンストラクタの追加(他のimportファイルにも)がほとんどの修正個所だったようです。 まだ、実行ができないので別の質問として登録させて いただきます。

  • yusukey
  • ベストアンサー率56% (17/30)
回答No.2

>必要なクラスが import で宣言されているか確認しましょう。 こちらにつきましてはいかがでしょうか?

rozannu
質問者

補足

一応,デバックツールeclipseを使ったらなんとかバグは とれました。あとは、実行ができません。 エラー名はException in thread "main" java.lang.NoclassDeffoundErrorです。

  • yusukey
  • ベストアンサー率56% (17/30)
回答No.1

必要なクラスが import で宣言されているか確認しましょう。 それでもコンパイル出来ない場合はコンパイルエラーのメッセージを貼り付けてみてください。

rozannu
質問者

補足

機密情報は少し変更してあります。 mainパッケージコンパイル jp\co\aj\main\AJ1002.java:18: シンボルを解釈処理できません。 シンボル: コンストラクタ InputReader (java.lang.String) 位置 : jp.co.aj.data.InputReader の クラス InputReader ir = new InputReader(arg[0]); /* 入力データクラスの作成 */ ^ jp\co\aj\main\AJ1002.java:19: シンボルを解釈処理できません。 シンボル: コンストラクタ OutputWriter (java.lang.String) 位置 : jp.co.aj.out.OutputWriter の クラス OutputWriter ow = new OutputWriter(arg[1]); /* 出力データクラスの作成 */ ^ jp\co\aj\main\AJ1002.java:22: シンボルを解釈処理できません。 シンボル: クラス AddressData 位置 : jp.co.aj.main.AJ1002 の クラス AddressData address = new AddressData(); /* クラ スの生成 */ ^ jp\co\aj\main\AJ1002.java:22: シンボルを解釈処理できません。 シンボル: クラス AddressData 位置 : jp.co.aj.main.AJ1002 の クラス AddressData address = new AddressData(); /* クラ スの生成 */ ^ jp\co\aj\main\AJ1002.java:26: シンボルを解釈処理できません。 シンボル: メソッド open () 位置 : jp.co.aj.data.InputReader の クラス ir.open(); /* 入力データクラスのオープ ン */ ^ jp\co\aj\main\AJ1002.java:27: シンボルを解釈処理できません。 シンボル: メソッド open () 位置 : jp.co.aj.out.OutputWriter の クラス ow.open(); /* 出力データクラスのオープ ン */ ^ jp\co\aj\main\AJ1002.java:33: シンボルを解釈処理できません。 シンボル: メソッド nextData () 位置 : jp.co.aj.data.InputReader の クラス ir.nextData(); ^ jp\co\aj\main\AJ1002.java:62: シンボルを解釈処理できません。 シンボル: メソッド convertHomeTel (java.lang.String) 位置 : jp.co.aj.util.AddressConvert の クラス String strhtel[] = convert.convertHomeTel(h ometel); ^ jp\co\aj\main\AJ1002.java:64: シンボルを解釈処理できません。 シンボル: メソッド convertCellTel (java.lang.String) 位置 : jp.co.aj.util.AddressConvert の クラス String strctel[] = convert.convertCellTel(c elltel); ^ jp\co\aj\main\AJ1002.java:74: シンボルを解釈処理できません。 シンボル: メソッド outputAddress (java.lang.String,java.lang.String) 位置 : jp.co.aj.main.AJ1002 の クラス outputAddress(stradr[0],stradr[1]); ^ jp\co\aj\main\AJ1002.java:88: シンボルを解釈処理できません。 シンボル: メソッド writeData () 位置 : jp.co.aj.out.OutputWriter の クラス ow.writeData(); ^ jp\co\aj\main\AJ1002.java:93: シンボルを解釈処理できません。 シンボル: メソッド close () 位置 : jp.co.aj.data.InputReader の クラス ir.close(); /* 各ファイルのクロー ズ */ jp\co\aj\main\AJ1002.java:94: シンボルを解釈処理できません。 シンボル: メソッド close () 位置 : jp.co.aj.out.OutputWriter の クラス ir.close(); /* 各ファイルのクロー ズ */

関連するQ&A