-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNatacao.java
executable file
·136 lines (111 loc) · 3.36 KB
/
Natacao.java
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
package novo_tp_poo;
/**
* Write a description of class Natacao here.
*
* @author Grupo22
* @version 1.0
*/
public class Natacao extends Actividade implements Distancia, Tempo
{
// instance variables
private String desporto;
private double duracao;
private double calorias;
private double distancia;
private double vel_media;
private double vel_maxima;
/**
* Construtores
* 1 - Parametrizado
*/
public Natacao(String desp, double d, double km, double max)
{
this.desporto = desp;
this.duracao = d;
this.calorias = calculaCalorias();
this.distancia = km;
this.vel_media = calculaVel_media();
this.vel_maxima = max;
}
/**
* 2 - Copia
*/
public Natacao(Natacao n)
{
this.desporto = n.getDesporto();
this.duracao = n.getDuracao();
this.calorias = n.getCalorias();
this.distancia = n.getDistancia();
this.vel_media = n.getVel_media();
this.vel_maxima = n.getVel_maxima();
}
/**
* Metodos
* 1 - Gets
*/
public String getDesporto() {return this.desporto;}
public double getDuracao() {return this.duracao;}
public double getCalorias() {return this.calorias;}
public double getDistancia() {return this.distancia;}
public double getVel_media() {return this.vel_media;}
public double getVel_maxima() {return this.vel_maxima;}
/**
* 2 - Sets
*/
public void setDesporto(String desp) {this.desporto = desp;}
public void setDuracao(double d) {this.duracao = d;}
public void setCalorias(double c) {this.calorias = c;}
public void setDistancia(double km) {this.distancia = km;}
public void setVel_media(double med) {this.vel_media = med;}
public void setVel_maxima(double max) {this.vel_maxima = max;}
/**
* 3 - Outros
*/
public double calculaCalorias() {
this.calorias = 0.133 * this.duracao /*** (Peso)*/;
return this.calorias;
}
public double calculaVel_media(){
this.vel_media = this.distancia/this.duracao;
return this.vel_media*60;
}
public String minToHoras(){
int hora = 0, min = 0;
hora = (int)this.duracao/60;
min = (int)this.duracao % 60;
return String.format("%d:%dh", hora, min);
}
/**
* 4 - Equals
*/
public boolean equals (Object o) {
if(this == o) {
return true;
}
if((o == null) || (this.getClass() != o.getClass())) {
return false;
} else {
Natacao u = (Natacao) o;
return (this.desporto.equals(u.getDesporto()));
}
}
/**
* 5 - Clone
*/
public Natacao clone()
{
return new Natacao(this);
}
/**
* 6 - toString
*/
public String toString() {
return new String ("Desporto: " + this.getDesporto() + ".");
}
/**
* toString mais detalhado
*/
public String toStringD() {
return new String("Desporto: " + this.getDesporto() + "\nDuracao: " + this.getDuracao() + "\nDistancia: " + this.getDistancia() + "\nCalorias: " + this.getCalorias() + "\nVelocidade média: " + this.getVel_media());
}
}