For循环显示3 6 9而不是1 2 3



我试图编写一个简单的for循环程序。

用户输入一个数字(例如4),程序将显示"交易日1/2/3/4";每次用户点击"第二天"按钮。

但是我的for循环显示的是3 6 9 12,而不是我不知道我在哪里出错了。

程序获取用户在输入框中输入的值并将其更改为int

public class startButtonListener implements ActionListener {
public void actionPerformed(java.awt.event.ActionEvent event) {
tradingDaysValue = Integer.parseInt(tradingDaysField.getText());
}

这是程序从前一个按钮侦听器获取值后,在另一个按钮侦听器下的代码。

public class tradeButtonListener implements ActionListener {
public void actionPerformed(java.awt.event.ActionEvent event) {
for (int i = 0; i < tradingDaysValue; i++) {
tradingDayCounter++;
tradingDayLabel.setText("TRADING DAY " + tradingDayCounter);
}
}
}

我不知道为什么它显示的是3 6 9而不是1 2 3。

每次按下按钮时,tradeButtonListeneractionPerformed都在执行,该函数包含整个循环。因此,每次按下按钮时都会执行循环。例如,如果您的数字是4,则每次按下第二天按钮时将运行四次迭代(有效地将计数器增加四次并设置文本四次),使您的增量为4,8,12,16。

对于你想要的,你应该只对tradingDayCounter做一个++每次你点击tradeButton,这只发生在计数器是<而不是tradingDaysValue

public void actionPerformed(java.awt.event.ActionEvent event) {
if (tradingDayCounter < tradingDaysValue) {
tradingDayCounter++;
tradingDayLabel.setText("TRADING DAY " + tradingDayCounter);
}
}

相关内容

  • 没有找到相关文章