我试图编写一个简单的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。
每次按下按钮时,tradeButtonListener
的actionPerformed
都在执行,该函数包含整个循环。因此,每次按下按钮时都会执行循环。例如,如果您的数字是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);
}
}