Java 2D массив не сохраняет пользовательский ввод - PullRequest
2 голосов
/ 27 февраля 2020

Я использую GUI, и каждый раз, когда пользователь вводит информацию, она не сохраняется в 2D-массив.

public String [][] arrayQues = new String[2][5];

textFieldAns = new JTextField();
textFieldAns.setBounds(127, 130, 272, 42);
textFieldAns.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        String Ans = textFieldAns.getText();
        textFieldAns.selectAll();
        arrayQues[1][0] = Ans;
    }
});

Я знаю, что она не сохраняется в 2D-массив, потому что в другой класс, который наследует вышеуказанный класс, метка randQ отображается как null

    Random r = new Random();
    int randAnswer = r.nextInt(arrayQues[1].length);
    int randQuestion = r.nextInt(arrayQues[0].length);
    String randQ = arrayQues[0][randQuestion];
    String randA = arrayQues[1][randQuestion];

    JLabel randomQuestion = new JLabel(randQ);
    randomQuestion.setBounds(112, 61, 269, frame.getContentPane().add(randomQuestion);

1 Ответ

1 голос
/ 27 февраля 2020

создайте переменную, чтобы узнать, , по какому индексу будет сохранен следующий вопрос / ответ в arrayQues.

private int quesIndex;

в вашем методе actionPerformed, вызов

String answer = textFieldAns.getText();
textFieldAns.selectAll();
arrayQues[1][quesIndex] = answer;

Ваши вопросы должны быть вставлены соответствующим образом перед ответом

arrayQues[0][quesIndex] = "insert your question here";
...