こんにちは、私は現在、コンピューター ゲーム\プログラムを作成しようとしています。主に使用するのは、ユーザーからの入力、コマンド、JTextField です。そのため、JFrame に "question" (JTextField question = new JTextField(15);) という基本的なテキスト フィールドを設定し、テキストを入力するための [OK] ボタンを既に用意しています。次は文字列の「回答」です。これは: String answer = question.getText().toUpperCase();
このようにフィールドが設定されます。Net は、テキストが入力されていない場合、正しい単語でない場合、そしてもちろん正解である場合にエラーを与える 3 つの if ステートメントです。それらは次のとおりです。
Public class ButtonListener extends ActionListener
{
publix void actionPerformed(ActionEvent e)
{
if(e.getSource() == buttonOK)
{
String answer = question.getText().toUpperCase();
if(answer.length() == 0)
{
JOptionPane.showMessageDialog(
Window.this,
"ERROR: NO INPUT",
"ERROR",
JOptionPane.INFORMATION_MESSAGE);
}
if(answer == "XENIX")
{
JOptionPane.showMessageDialog(
Window.this,
"Welcome, Sir",
"Greetings",
JOptionPane.INFORMATION_MESSAGE);
}
if(answer != "XENIX" && answer.length > 0)
{
JOptionPane.showMessageDialog(
Window.this,
"ERROR: INCORECT PASSWORD",
"ERROR",
JOptionPane.INFORMATION_MESSAGE);
}
これは、テキストが入力され、[OK] ボタンが押されたときに if ステートメントがどのように反応するかです。すべてが機能しますが、「Xenix」と入力すると、「ERROR: INCORRECT PASSWORD」と表示されます。印刷方法を使用すると、回答から明らかに「XENIX」が取得されていることが示されますが、「ようこそ、サー」メッセージは表示されません。なぜ機能しないのですか?私が使用することになっている別の方法はありますか?すぐに応答してください!ありがとう!