import javax.swing.*; import java.awt.*; import java.awt.event.*; /* */ public class AddTime2 extends JApplet implements ActionListener { JTextField input; // e.g. 2:45 1:25 3:34 2:47 0:24 JLabel output; @Override public void init() { input = new JTextField("1:23 4:56", 16); output = new JLabel("00:00"); input.addActionListener(this); setLayout(new FlowLayout()); add(input); add(new JLabel("の和は")); add(output); add(new JLabel("です。")); } static int[] addTime(int[] t1, int[] t2) { // 時間の足し算を関数として定義する。 int[] t3 = { t1[0]+t2[0], t1[1]+t2[1] }; // 時間を大きさ 2の配列で表す。 if(t3[1]>=60) { // 繰り上がりの処理 t3[0]++; t3[1]-=60; } return t3; // 新しい配列を返す。 } public void actionPerformed(ActionEvent e) { String[] args = input.getText().split("\\s+"); int[] t = {0, 0}; for (String s : args) { String[] stime = s.split(":"); t = addTime(t, new int[] { Integer.parseInt(stime[0]), Integer.parseInt(stime[1]) }); // addTimeの呼出し前にその引数に入っていた配列は不要となる。 // あとでGCされる。 } output.setText(String.format("%02d:%02d", t[0], t[1])); } }