gpt4 book ai didi

java - 数组仅将项目放置在数组的第一个位置

转载 作者:行者123 更新时间:2023-12-01 18:12:57 25 4
gpt4 key购买 nike

我正在用 Java 制作一个计算器,我试图一次使用多个数学运算符来添加/减去/乘/除两个以上的数字。我试图将数字放在数组的不同位置,但由于某种原因,它将所有数字放在位置 0 处。不知道为什么会发生这种情况,因为我做了一个 for 循环,将 1 添加到“i”,这应该改变数组的位置。 (numDisplay 也是 JTextField)

    add.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
for (int i = 0; i < array.length; i++) {
array[i] = numDisplay.getText();
addDouble = Double.parseDouble(array[i]);
System.out.println(array[i] + " at place " + i);
numDisplay.setText("");
break;
}
}

});

最佳答案

for (int i = 0; i < array.length; i++) {
...
break; // breaks after first iteration
}

您将在第一次迭代后跳出循环,因此数组中只有一个数字。

I tried to remove the break but then it added zeroes to every other place automatically

您有array[i] = numDisplay.getText();首先,然后在循环结束时你有 numDisplay.setText(""); 。因此,在后续迭代中,它尝试将空字符串转换为 double 型,并最终得到零。

What I want is every time I press the add button, is for it to add the number I'm trying to add to the array.

一个 List<Double> 这里会更好。你可以这样做list.add(someDoubleValue)在你的事件监听器中。否则,您需要跟踪到目前为止添加到数组中的元素总数,然后在适当的位置插入新元素(如果有空间)。

关于java - 数组仅将项目放置在数组的第一个位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31526283/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com