• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:カブロボコンテストのプログラム)

カブロボコンテストのプログラムでエラーが発生する理由とは?

このQ&Aのポイント
  • カブロボコンテストのプログラムで、シンボル:holding シンボルを解決できませんというエラーが発生しています。
  • 原因は、Holding オブジェクトが宣言されていないためです。
  • エラーを解決するには、Holding オブジェクトを適切に宣言する必要があります。

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

  • ベストアンサー
  • gimmick
  • ベストアンサー率49% (134/270)
回答No.2

>if文に入る前にholdingの宣言をすれば良いですよね? 解決方法としてはそれで良いと思います。 「if(rsi.getRsi()>70){」の前で「Holding holding = null;」とすれば大丈夫です。 ただ、今回のエラーの原因はelseブロックを通るか否かの問題ではなく、変数holdingのスコープ(有効範囲)の問題です。holdingのスコープの外でholdingの値を参照している事が問題なのです。変数のスコープについて勉強する事をお勧めします。

tornader
質問者

お礼

返事が遅くなって申し訳ありません。gimmickさんの回答のおかげで解決しました。ありがとうございました。

その他の回答 (1)

noname#86752
noname#86752
回答No.1

elseを通らなければholdingが使えるようになりません。 しかし次のif文はelseを通るかどうかに関わらずholdingを見ようとしています。

tornader
質問者

補足

if文に入る前にholdingの宣言をすれば良いですよね?

関連するQ&A