• Lenguaje

    Java usando Applet

  • Descripción

    Dada una medida de tiempo expresado en horas, minutos y segundos con valores arbitrarios elaboren un algoritmo que transforme dicha medida en una expresión correcto por ejemplo dada la medida:
    3 hrs, 118 min, 19 seg
    El programa o el algoritmo deberá obtener como resultado:
    5 hrs, 1 min, 15 seg

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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;

public class TiempoExpresadoEnHorasMinutosYSegundos extends Applet implements ActionListener {

    private static final long serialVersionUID = 1L;
    private TextField field_hrs1, field_min1, field_seg1;
    private Label label_hrs2, label_min2, label_seg2;
    private Button button;

    @Override
    public void init() {
        field_hrs1 = new TextField(4);
        field_min1 = new TextField(4);
        field_seg1 = new TextField(4);
        label_hrs2 = new Label();
        label_min2 = new Label();
        label_seg2 = new Label();
        button = new Button("Procesar");
        setLayout(new BorderLayout());
        Panel panel, subpanel;
        panel = new Panel(new BorderLayout());
        subpanel = new Panel(new GridLayout(3, 1));
        subpanel.add(new Label("Ingresa el valor de hrs1:"));
        subpanel.add(new Label("Ingresa el valor de min1:"));
        subpanel.add(new Label("Ingresa el valor de seg1:"));
        panel.add(subpanel, BorderLayout.WEST);
        subpanel = new Panel(new GridLayout(3, 1));
        subpanel.add(field_hrs1);
        subpanel.add(field_min1);
        subpanel.add(field_seg1);
        panel.add(subpanel);
        add(panel, BorderLayout.NORTH);
        panel = new Panel(new FlowLayout());
        panel.add(button);
        add(panel);
        panel = new Panel(new BorderLayout());
        subpanel = new Panel(new GridLayout(3, 1));
        subpanel.add(new Label("Valor de hrs2:"));
        subpanel.add(new Label("Valor de min2:"));
        subpanel.add(new Label("Valor de seg2:"));
        panel.add(subpanel, BorderLayout.WEST);
        subpanel = new Panel(new GridLayout(3, 1));
        subpanel.add(label_hrs2);
        subpanel.add(label_min2);
        subpanel.add(label_seg2);
        panel.add(subpanel);
        add(panel, BorderLayout.SOUTH);
        button.addActionListener(this);
    }

    @Override
    public void actionPerformed(ActionEvent actionEvent) {
        int hrs1, hrs2, min1, min2, seg1;
        int seg2;
        try {
            hrs1 = Integer.parseInt(field_hrs1.getText());
            min1 = Integer.parseInt(field_min1.getText());
            seg1 = Integer.parseInt(field_seg1.getText());
        } catch (NumberFormatException numberFormatException) {
            return;
        }
        seg2=seg1%60;
        min2=min1+(seg1-seg2)/60;
        hrs2=hrs1+(min2-min2%60)/60;
        min2=min2%60;
        hrs2=hrs2%24;
        label_hrs2.setText(String.valueOf(hrs2));
        label_min2.setText(String.valueOf(min2));
        label_seg2.setText(String.valueOf(seg2));
    }

}