ガソリンスタンドや食料品店で、リサイクル可能なものを寄付するためにお金を稼ぐために、これらの機械を使用したことがありますか? まあ、私はそれらの仮想のものを作りたかったのですが、これまでのところ、数学をしなければならないまではすべて問題ありません. 私はまだ 13 歳なので、簡単だと思っていたのに、この部分はかなりトリッキーでした。リサイクル可能なタイプの値に金額を掛けてから、合計金額に追加する必要があります。しかし、それを合計金額に追加するのではなく、合計を私が追加した最近の値に変更するだけのようです. 10 セントの缶を 2 つ追加し、その後、合計 15 セントではなく、5 セントしかない缶をもう 1 つ追加するとします。うまくいけば、あなたは理解しています。また、私のコードについての建設的な批判もお願いします。私はそれが最高ではないことを知っていますが、私はJavaを学び始めたばかりなので、どんな助けも素敵です.
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class Machine {
static JLabel label;
static JComboBox typeList;
static JComboBox amountList;
public static void GUI(){
JFrame frame = new JFrame("Recyclables Machine");
frame.setVisible(true);
frame.setSize(300,125);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
frame.add(panel);
Integer[] amounts = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50};
amountList = new JComboBox(amounts);
panel.add(amountList);
String[] types = {"Choose Recycable Type","Plastic Bottle","Can","2 Liter","Glass Bottle"};
typeList = new JComboBox(types);
panel.add(typeList);
JButton button = new JButton("Add");
panel.add(button);
label = new JLabel("Total Money: 0 cents");
panel.add(label);
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
gettinItDone();
}
});
}
public static void gettinItDone(){
String type = (String)typeList.getSelectedItem();
int amount = (int)amountList.getSelectedItem();
int money = 0;
int temp = 0;
if(type.equals("Plastic Bottle")){
temp = 5 * amount;
money = temp + money;
label.setText("Total Money: "+ money +" cents");
}else{
if(type.equals("Can")){
temp = 5 * amount;
money = temp + money;
label.setText("Total Money: "+ money +" cents");
}else{
if(type.equals("2 Liter")){
temp = 10 * amount;
money = temp + money;
label.setText("Total Money: "+ money +" cents");
}else{
if(type.equals("Glass Bottle")){
temp = 10 * amount;
money = temp + money;
label.setText("Total Money: "+ money +" cents");
}else{
JOptionPane.showMessageDialog(null,"Invalid Recyclable Type", "Error", JOptionPane.ERROR_MESSAGE);
}
}
}
}
}
}