2015-01-15 79 views
2

剛剛加入以尋求我正在編寫的一些代碼的幫助。我正在編寫一個基本的Java程序來幫助教授我的學生。該程序使用隨機控制器來選擇我正在通過終端工作的隨機響應。用Java編寫隨機答案生成器 - 答案出現在JFrame中

我正在使用此代碼進行下一步並添加窗口。我想讓這個程序打開一個窗口,點擊一個按鈕後,出現一個對話框,並顯示所選的答案。我有窗口工作,但我不能讓它顯示包含隨機響應的字符串。

我附上我的代碼。我認爲我的問題是在actionPerformed部分的最後一行代碼中。 .showMessageDialog只處理預定義的文本而不處理字符串?

+0

抖動是在if語句內定義的。在外面定義它,或者在{} s中添加showMessageDialog –

+0

我怎麼沒有想到這一點?非常感謝,它現在很有魅力。 – Notorious

+0

@Notorious,考慮一個['switch'語句](http://docs.oracle.com/javase/tutorial/java/nutsandbolts/switch.html)而不是大量的else if語句 –

回答

4

shake變量不在showMessageDialog範圍內。 兩種可能的解決方法:

  • 在if(event.getSource()...)範圍外定義shake。
  • 移動括號內的showMessageDialog語句。
+0

謝謝。爲了學習,我測試了兩種解決方法,並得出了相同的結果。 – Notorious

0

您對搖晃字符串的使用超出了範圍。你在if裏面定義它,但是在外面使用它。在你的if前面移動'String shake =「」''。

對不起。剛剛看到fmbesteiro先解決了它。

0

你甚至可以編譯這個嗎?

變量「搖」在這裏超出範圍。

+0

這是我的問題。編譯不起作用,我知道這個變量是問題所在。 fmbesteiro的建議之一解決了它。 – Notorious