1

我对 Java 很陌生。我希望用户能够通过单击提交分别输入 4 个不同的输入。我正在使用 for 循环进行计数,但我不知道如何让用户多次输入他们的答案。for 循环只是一次重复。我正在使用数组来保存用户的答案。这是我的代码的一部分。如果您有任何疑问或需要更多解释,我会明确表示。解释更多

private void Question1()
{
    int count = 1;
            QuestionsPanel.add(new JLabel(Q1.getQuestion()));
    QuestionsPanel.add(new JLabel(Arrays.toString(mans1)));

    AnswerField = new JTextField(10);
    AnswerPanel.add(AnswerField);

    Submit = new JButton("Submit");
    AnswerPanel.add(Submit);
    Submit.addActionListener(this);

}

public void actionPerformed(ActionEvent e)
{
    if ((e.getSource() == Submit) && count == 0)

    {
        int value = Integer.parseInt(AnswerField.getText());

        for (int i = 0; i < 4; i++)
        {

            if (value == -1) break;
            ans[i] = value - 1;
            AnswerField.setText("");


        }
4

1 回答 1

2

这不起作用,因为您将循环放置在 中ActionListener,单击按钮时执行一次。

您应该做的是在某处保留当前答案的计数器

int count = 0;

public void actionPerformed(ActionEvent e) {
  if ((e.getSource() == Submit) && count < 4) {
    int value = Integer.parseInt(AnswerField.getText());

    if (value == -1) break;
    ans[count++] = value - 1;
    AnswerField.setText("")
  }
}

以这种方式,循环由 actionlistener 隐式管理:每次按下提交计数都会增加 1,并且正确的答案放在数组中。当然,您应该在提交第四个答案时做一些事情,例如禁用提交按钮。

于 2012-04-18T03:45:13.487 回答