• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:条件分岐が多いIF分の書き方について_2)

IF文の条件分岐に新たな条件を追加する方法について

このQ&Aのポイント
  • 条件分岐のIF文に新たな条件を追加する際、特定の条件に応じて処理を行う方法について説明します。
  • 既存の条件の中に共通退職時共済識別表示が4の場合の処理を追加する場合は、if文内にelse ifを追加し、条件を設定して処理を行います。
  • 今回は新たな条件として、共通退職時共済識別表示が4の場合に処理を行う方法を提案します。

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

  • ベストアンサー
  • drum_KT
  • ベストアンサー率43% (1108/2554)
回答No.2

if ~ else if ~ else は上から順に評価されるので、追加した条件より上に書いてある条件に先にヒットしてしまうと、それ以降の条件は評価されません。 同時に成立するときにより優先されるべき条件の方を先に書きましょう。

yairi1106
質問者

お礼

if (共通退職時共済識別表示.compareTo ("4") == 0 ) { } else if (制度コード.compareTo ("08") == 0 && 旧共済従前額保障表示 .compareTo ("1") == 0) { out.print ("*"); out.print (" "); } else if (制度コード.compareTo ("09") == 0 && 上乗有無表示 .compareTo ("1") == 0 && 上乗従前額保障表示 .compareTo ("1") == 0) { out.print ("*"); } else if (制度コード.compareTo ("09") == 0 && 独自有無表 .compareTo ("1") == 0 && 独自従前額保障表示 .compareTo ("1") == 0) { out.print ("*"); } else if ( 制度コード.compareTo ("08") != 0 && 制度コード.compareTo ("09") != 0) { out.print (" "); } else { out.print(" ");} } アドバイスありがとうございます。 と問題の条件を先にするとかは ご質問する前から試してたのですが 急いでたこともあり どうやら細かいところで コードミスがあり 結果が得られてなかったようです。 解決したことをご報告いたします。 初歩的なミスで大変失礼しました。

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

「反応しません」ってのはどういうこと? 具体的に ・どう変更して ・どんなデータに対して実行したら ・どんな結果を期待したのに ・得られた結果が実際にはどうであったのか を書いてください.

yairi1106
質問者

補足

if (制度コード.compareTo ("08") == 0 && 旧共済従前額保障表示 .compareTo ("1") == 0) { out.print ("*"); } else if (制度コード.compareTo ("09") == 0 && 上乗有無表示 .compareTo ("1") == 0 && 上乗従前額保障表示 .compareTo ("1") == 0) { out.print ("*"); } else if (制度コード.compareTo ("09") == 0 && 独自有無表 .compareTo ("1") == 0 && 独自従前額保障表示 .compareTo ("1") == 0) { out.print ("*"); } else if(共通退職時共済識別表示.compareTo ("4") == 0 ) out.print(" ") } else { out.print(" ");} } それではご説明します。 制度コード8または旧共済従前額保障表示が1の場合 out.print ("*"); 制度コード9または上乗有無表示 が1 上乗従前額保障表示1の場合 out.print ("*"); 制度コード9または独自有無表 が1 独自従前額保障表示1の場合 out.print (" "); それ以外 out.print (" "); 例えば上記のデータをテキスト入出力した場合 この条件の中に 新たな条件の ただし共通退職時共済識別表示が4の場合だけout.print (" "); とするを 加えると テキストデータの 共通退職時共済識別表示には スペースなしの4が入力されているのに 結果が*となってしまいます。 私の条件が不足してると思いますが。 色々なパターンを試したので すべては書ききれませんが・・・ よろしくお願いします。

関連するQ&A