在while循环中单击按钮时,如何进行下一次迭代?

陈知勤 :

我正在测验。我将问题存储在数组中。因此,我使用一个while循环来逐个显示问题。当我单击按钮时,计数器+1并转到下一个迭代,即下一个问题。但是,似乎无法解决问题。

final int[] k = {0};
while (k[0] <2){
    ql.setText(qa[k[0]][0]);
    ql.setVisible(true);

    for (int l = 0; l < 4; l++) {
        ch[l].setVisible(true);
        ch[l].setText(String.valueOf((int) (50 * Math.random())));
    }
    rc = (int) (4 * Math.random());
    ch[rc].setText(qa[k[0]][1]);

    nx.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            k[0]++;
        }
    });
}

这里有什么问题?谢谢!!

smac89:

您必须反转循环才能以事件驱动的方式工作。所以我在想的是,您应该让按钮单击驱动“循环”,因为它只会激活您的计数器没有耗尽的问题,否则只会忽略更多的按下。

就像是:

private void showQuestion(int question) {
    ql.setText(qa[question][0]);
    ql.setVisible(true);

    for (int l = 0; l < 4; l++) {
        ch[l].setVisible(true);
        ch[l].setText(String.valueOf((int) (50 * Math.random())));
    }
    int rc = (int) (4 * Math.random());
    ch[rc].setText(qa[question][1]);
}

...
// In some method...
nx.addActionListener(new ActionListener() {
    int nextQuestion = 1;

    @Override
    public void actionPerformed(ActionEvent e) {
        if (k < 1) {
            showQuestion(nextQuestion++);
        }
    }
});
showQuestion(0); // Shows the first question

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

读取Excel文件时在Java中进行下一次迭代

在JS / JQUery中执行下一次循环迭代之前,如何使代码等待x秒?

等待循环中的异步功能完成执行,然后再进行下一次迭代

几个嵌套的“ for”循环,如果内部循环中的条件为true,则继续进行外部循环的下一次迭代

单击一次如何进行字幕循环?

LSD是否可以从检测到的循环的下一次迭代发出uOP?

如何在模拟VBA中Python的“ continue”语句的错误AKA上进行下一次迭代?

如何等待“ for循环下一次迭代”,直到获得FileReader.onload结果

如何在下一次迭代之前在JavaScript循环中添加延迟?

在进行下一次迭代之前,如何使我的for循环完全执行任务?

在do-while循环中扫描的输入在下一次迭代中无法正确重置

使用扫描迭代器时,如何在返回结果和下一次迭代之间共享状态?

对于下一次迭代之前的循环延迟

为什么在进行循环时,在下一次迭代时始终将其重置为0?

如何使循环等待db promise完成,然后再继续下一次迭代?

如何在 Rust for 循环的当前迭代中获取下一次迭代的值?

从中断点 R 的下一次迭代继续循环

如何跳过下一次迭代?

在 Node.js 的循环中移动到下一次迭代之前等待 Promise

在python中访问循环中下一次迭代的索引时索引超出范围

上一次 bash 循环迭代到下一次迭代的输出,用于不同的 grep 命令

TensorFlow while 循环,其中预测是下一次迭代的输入

进入下一次循环迭代,意外改变了值

while 循环没有进入下一次迭代

如何在for循环中的下一次迭代之前等待承诺解决

如何在第一次循环迭代后获取更改的内容(字符串)以用于机器人框架的下一次迭代

python中嵌套循环中的`break`跳过原始循环的下一次迭代

带有验证是继续循环还是开始下一次迭代的嵌套循环

压缩两个迭代时如何获得下一次迭代