gpt4 book ai didi

java - 在我的 Java 代码中更好地使用 for 循环

转载 作者:行者123 更新时间:2023-11-29 08:33:32 25 4
gpt4 key购买 nike

我的代码也按照我想要的方式工作,但它使用了很多行。

它是关于食品订购终端的,我向您展示的部分是关于删除购物车中的 JButtons。

我不想编辑 Arraylist 中的每一个 JButton。我认为循环可以帮助解决这个问题,但我不知道该怎么做。

问候

public class Bestellterminal { 

private int x = 0;
private double Preis = 0;
private double classicpreis = 2.5;
private ArrayList<JButton> classiciconlist = new ArrayList<JButton>();

public void addComponentsToPane2(final Container pane) {

for(int i = 0; i <= 50; i++) {

classiciconlist.get(i).addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {
if (x == 0) {
Preis = Preis - classicpreis;
Locale currentlocale = Locale.GERMANY;
NumberFormat numberFormatter =
NumberFormat.getCurrencyInstance(currentlocale);
String classicpreisx = numberFormatter.format(classicpreis);
String preisx = numberFormatter.format(Preis);
labelsumme.setText(String.valueOf("Summe: " + preisx));
classiciconlist.get(1).setVisible(false);
x++;
}

else if (x == 1) {
Preis = Preis - classicpreis;
Locale currentlocale = Locale.GERMANY;
NumberFormat numberFormatter =
NumberFormat.getCurrencyInstance(currentlocale);
String classicpreisx = numberFormatter.format(classicpreis);
String preisx = numberFormatter.format(Preis);
labelsumme.setText(String.valueOf("Summe: " + preisx));
classiciconlist.get(2).setVisible(false);
x++;
}
else if (x == 2) {
Preis = Preis - classicpreis;
Locale currentlocale = Locale.GERMANY;
NumberFormat numberFormatter =
NumberFormat.getCurrencyInstance(currentlocale);
String classicpreisx = numberFormatter.format(classicpreis);
String preisx = numberFormatter.format(Preis);
labelsumme.setText(String.valueOf("Summe: " + preisx));
classiciconlist.get(3).setVisible(false);
x++;
}


}});


}


}
}

最佳答案

您正在重复您的代码 - 只创建 1 个方法并将其命名为 myMethod(x);

public void myMethod(int i) {
Preis = Preis - classicpreis;
Locale currentlocale = Locale.GERMANY;

NumberFormat numberFormatter =
NumberFormat.getCurrencyInstance(currentlocale);
String classicpreisx = numberFormatter.format(classicpreis);
String preisx = numberFormatter.format(Preis);
labelsumme.setText(String.valueOf("Summe: " + preisx));
classiciconlist.get(i + 1).setVisible(false);
x++;
}

关于java - 在我的 Java 代码中更好地使用 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45919169/

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