• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:プログラムからメソッドを呼び出したいのですが)

プログラムからメソッドを呼び出す方法について

このQ&Aのポイント
  • ArtName.javaのプログラム内のメソッドを呼び出したいが、コンパイルエラーが発生する。
  • エラーの原因は、TagInfoクラスのシンボルが見つからないこと。
  • 解決策として、TagInfoクラスをM_data.javaの内部クラスとして定義することが考えられる。

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

  • ベストアンサー
  • rw-tile
  • ベストアンサー率100% (2/2)
回答No.1

ArtNameクラスからTagInfo配列が直接取得できないだけではないでしょうか? (1)ArtNameのstaticメソッドanの引数にTagInfo配列を渡し、 public static void an(String[] arg,TagInfo[] taginfo)... if(tagInfo[i]!=tagInfo[j])... または、 (2)M_dataクラスのstaticメソッドmusicのTagInfo配列をフィールドにして、 それ(またはコピー)を外部から取得できるようなメソッド(例えばgetTagInfos)を用意して、 TagInfo[] tagInfos = M_data.getTagInfos(); if(tagInfos[i]!=tagInfos[j]){ と変形するとか。 試してないのでわかりませんが、間違ってたらごめんなさい・・・

noname#149085
質問者

お礼

お礼の言葉が遅れてしまいまして申し訳ございませんでした。もう一度ArtNameのプログラムを修正してみます。 参考例をあげての明確なアドバイスありがとうございました。 プログラム初心者ですのでまた質問するかも知れません。 その時はご教授お願いいたします。 ありがとうございました。

その他の回答 (1)

  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.2

現時点では,ArtNameクラスは,TagInfoクラスにもM_dataクラスにも登場しないまったく無関連のクラスですから,まあコンパイルは通りませんよね。 ArtNameクラスで何をしたいのか説明がないのでよく分からないのですが, そもそも,なぜArtNameはクラスなのでしょう? 質問者が実現したいのは,TagInfoクラス内のgetArtName?メソッド的な働きなのかな,とも思いました。

noname#149085
質問者

お礼

お礼の言葉が遅れてしまい申し訳ありませんでした。Artnameのプログラム自体を訂正し直してみます。ご指導していただきましてありがとうございます。

関連するQ&A