4 つの個別のダイアログ ボックスで一連の 4 つのはい/いいえの選択肢があり、その累積結果が 12 の個別のリンクの 1 つにつながります (たとえば、はい/はい/はい/いいえ -> リンク A、はい/いいえ/いいえ/はい -> リンク B など)。分岐ロジックはブール値を使用します。
これが私がこれまでに持っているものです...最初のダイアログボックスと検証のための結果を印刷するだけです。
public class OutageGuideSelector{
public static void main(String[] args){
boolean contactServerUp;
boolean vistaUp;
boolean stormOutage;
boolean vistaCSUp;
//
int contactServerEntry = JOptionPane.showConfirmDialog(null,
"Is the contact server up", "Please select",
JOptionPane.YES_NO_OPTION);
System.out.println("result from entry " + contactServerEntry);
if(contactServerEntry==1)
contactServerUp = true;
else
if(contactServerEntry==0)
contactServerUp = false;
/* System.out.println(contactServerUp); */
}}
現在、YES をクリックすると0
が返され、NO をクリックすると1
. これは正常で、直感に反しているように見えます.docs.oracle.javaには、デフォルトが0 であることを示唆しているように見えるこれを除いて、出力値の明確な例を示すものは何もありません.public static final int YES_NO_OPTION
さらに、コメントを外すとSystem.out.println(contactServerUp);
フィールドのエラーが返されるcontactServerUp might not have been initialized
ため、convert-int-to-boolean が機能しているかどうかを確認できません。
最初: JOptionPane メソッドにはブール値の戻り値が含まれていないようgetWantsInput()
です... wantsInput プロパティの値を返すものを除いて... したがって、私はすでにこれで最も効率的であると思います。もっと簡単な方法があれば知りたいです。
第二に、コンソール出力ステートメントが認識できない原因は何contactServerUp
ですか? 間違ったセミコロンはどこにありますか?