Você está na página 1de 59

Programando em Java

(Classes Simples e Tipos de Dados Bsicos)


Lista de Exerccios
Material didctico elaborado pelas diferentes equipas de
Introduo Programao
Lus Caires (Responsvel), Armanda Rodrigues, Antnio Ravara, Carla Ferreira, Fernanda
Barbosa, Fernando Birra, Jcome Cunha, Joo Arajo, Miguel Goulo, Miguel Pessoa
Monteiro, e Sofia Cavaco.

Mestrado Integrado em Engenharia Informtica FCT UNL


Departamento de Informtica FCT UNL (uso reservado )

Objectivos
O aluno dever ser capaz de:
A partir de uma especificao simples, em lngua natural, identificar a classe a
definir e propor uma interface para essa classe .
Usar o BlueJ na construo de classes simples, definindo:
Variveis de instncia (privadas);
Construtor de instncias da classe (pblico);
Operaes modificadoras (pblicas);
Operaes de consulta (pblicas).

Usar operaes aritmticas simples na implementao da classe, que


envolvam valores inteiros, reais e lgicos.
Testar cuidadosamente as classes desenvolvidas, analisando com esprito
crtico os resultados produzidos pelos testes.
Interpretando correctamente as eventuais mensagens de erro resultantes de
defeitos no cdigo produzido.
Departamento de Informtica FCT UNL (uso reservado )

Semforo

Departamento de Informtica FCT UNL (uso reservado )

Semforo
Objectivo
Simular um semforo.

Descrio
O estado de um semforo pode ser: vermelho, verde, ou amarelo.

Funcionalidades
O semforo sempre informado para mudar de estado, sendo que a
mudana ocorre sempre da seguinte forma:
vermelho verde amarelo vermelho
sempre possvel consultar se o semforo est vermelho, verde ou amarelo.
Assim como consultar se possvel passar (estado em verde ou amarelo) e
se necessrio parar (estado vermelho).
Quando o semforo criado o seu estado vermelho.

Interaco com o utilizador


Aps criar um semforo, pode invocar as operaes do semforo.
Departamento de Informtica FCT UNL (uso reservado )

Semforo
Interface (classeTrafficLight) :
boolean isRed()
Indica se o semforo est vermelho.
boolean isGreen()
Indica se o semforo est verde.
boolean isYellow()
Indica se o semforo est amarelo.
boolean pass()
Indica se se pode passar.
boolean stop()
Indica se temos de parar.
void changeColor()
Muda/Troca o estado do semforo.
Departamento de Informtica FCT UNL (uso reservado )

Semforo
TrafficLight t1 = new TrafficLight();
t1.isGreen()
t1.pass()
false
(boolean)
true
(boolean)
t1.isRed()
t1.changeColor();
t1.isGreen()
true
(boolean)
false
(boolean)
t1.pass()
t1.isYellow()
true
(boolean)
false
(boolean)
t1.pass()
t1.stop()
true
(boolean)
t1.changeColor();
true
(boolean)
t1.pass()
t1.changeColor();
false
(boolean)
t1.isYellow()
false
(boolean)

Departamento de Informtica FCT UNL (uso reservado )

Semforo
Defina em Java uma classe TrafficLight cujos objectos
representam Semforos.
Programe a sua classe no BlueJ.
Teste um (ou vrios) objectos TrafficLight, e verifique se
se comportam como esperado.

Departamento de Informtica FCT UNL (uso reservado )

Dieta

Departamento de Informtica FCT UNL (uso reservado )

Dieta
Objectivo
Controlar uma dieta.

Descrio
Numa dieta h ingesto de alimentos, com as odiadas calorias, e exerccio fsico, em
que a pessoa em dieta se livra dos excessos cometidos.

Funcionalidades
Em cada refeio, ou exerccio, registam-se sempre as calorias ganhas, ou perdidas,
respectivamente.
necessrio saber sempre as calorias retidas (ingeridas que no so perdidas). Assim
como se o valor das calorias negativo.
sempre possvel consultar o nmero mdio de calorias ingeridas e perdidas. Assim
como consultar o nmero de refeies e exerccios realizados.
Quando criada, as calorias existentes so zero.

Interaco com o utilizador


Aps criar uma dieta, pode invocar as operaes.

Departamento de Informtica FCT UNL (uso reservado )

Dieta
Interface (classe Diet):
void eat(int c)
Ingere c calorias numa refeio
pre: c > 0
void burn(int c)
Consome c calorias a realizar um exerccio
pre: c > 0
int eatTimes()
Indica o nmero de refeies realizadas
int burnTimes()
Indica o nmero de exerccios realizados

Departamento de Informtica FCT UNL (uso reservado )

10

Dieta
Interface (classe Diet):
int balance()
Devolve o saldo total de calorias
boolean isBalanceNegative()
Indica se o saldo total de calorias negativo
float averageEatenCallories()
Devolve o valor mdio das calorias ingeridas
pre: eatTimes()>0
float averageBurntCallories()
Devolve o valor mdio das calorias consumidas
pre: burnTimes()>0
Departamento de Informtica FCT UNL (uso reservado )

11

Dieta
Diet d = new Diet();

d.burn(30);

d.balance()

d.balance()

210

(int)

(int)

d.eatTimes()

d.eatTimes()

(int)

(int)

d.eat(50);

d.burnTimes()

d.eat(75);

d.eatTimes()

d.averageEatenCalories()

75.0

(int)

(int)
(float)

d.burnTimes()

d.averageBurntCalories()

30.0

(int)

(float)

d.burn(20);

d.isBalanceNegative()

d.balance()

false

105

(boolean)

(int)

d.eat(75);
d.eat(100);
d.burn(40);
Departamento de Informtica FCT UNL (uso reservado )

12

Dieta
Defina em Java uma classe Diet.
Programe a sua classe no BlueJ e fornea tambm um programa
principal para testar a sua dieta.
Teste no programa principal vrios objectos da classe Diet e
verifique que se comportam tal como esperado.

Departamento de Informtica FCT UNL (uso reservado )

13

Speed

Departamento de Informtica FCT UNL (uso reservado )

14

Speed
Objectivo
Manipular valores de velocidades.

Descrio
A velocidade um valor real que pode ser expresso em diferentes unidades: metros
por segundo (m/s), kilmetros por hora (km/h) e milha por hora (mph) .

Funcionalidades
sempre possvel registar e consultar o valor de velocidade em qualquer unidade. As
converses a considerar so:
m/s
km/h
mph
1 m/s =

3.6

2.236936

1 km/h =

0.277778

0.621371

1.609344

1 mph=de 00.44704
Quando criado, o valor da velocidade
m/s.

Interaco com o utilizador


Registar valores de velocidades e fazer converses entre unidades.

Departamento de Informtica FCT UNL (uso reservado )

15

Speed
Interface (classe Speed)
double getInMS()
Consultar a velocidade em metros por segundo.
void setInMS(double speed)
Definir a velocidade em metros por segundo (Pre: speed >0)
double getInKmH()
Consultar a velocidade em kilmetros por hora
void setInKmH(double speed)
Definir a velocidade em kilmetros por hora (Pre: speed >0)
double getInMpH()
Consultar a velocidade em milhas por hora
void setInMpH(double speed)
Definir a velocidade em milhas por hora (Pre: speed >0)
Departamento de Informtica FCT UNL (uso reservado )

16

Speed
Speed caracol = new Speed();
caracol.setInMS(0.001);
caracol.getInMS()
0.001
(double)
caracol.getInKmH()
0.0036000000000000003
(double)
caracol.getInMpH()
0.002236936
(double)
Speed obikwelu = new Speed();
obikwelu.setInKmH(36.0);
obikwelu.getInMS()
10.0
(double)
obikwelu.getInKmH()
36.0
(double)
obikwelu.getInMpH()
22.36936
(double)
obikwelu.setInMpH(24.0);
obikwelu.getInKmH()
38.624261042783516
(double)

Departamento de Informtica FCT UNL (uso reservado )

17

Speed
Defina em Java uma classe Speed, cujos objectos
representam o conceito de velocidade.
Programe a sua classe no BlueJ
Teste vrios objectos da classe Speed e verifique
que se comportam tal como esperado.

Departamento de Informtica FCT UNL (uso reservado )

18

Mapa do Tesouro

Departamento de Informtica FCT UNL (uso reservado )

19

Mapa do Tesouro
Objectivo
Descobrir o tesouro.
Descrio
O tesouro um cofre enterrado algures numa ilha, numa dada posio no
plano XY. Existe sempre um pirata, numa dada posio que procura o
tesouro.
Este mapa funciona num tablet equipado com GPS em que as coordenadas
so dadas em passos (valores inteiros). J
Funcionalidades
O pirata pode sempre mover-se n passos em qualquer das quatro direces:
norte, sul, este e oeste.
O pirata pode sempre escavar o terreno na posio corrente de modo a saber
se encontrou o tesouro.

Departamento de Informtica FCT UNL (uso reservado )

20

Mapa do Tesouro

sempre possvel consultar as coordenadas da posio do pirata, assim


como a sua direco.
Quando criado, o pirata encontra-se na posio (0,0) virado para norte, e
indicada a posio do tesouro.

Interaco com o utilizador


Aps criar o mapa do tesouro, mover o pirata para encontrar o tesouro.

Departamento de Informtica FCT UNL (uso reservado )

21

Mapa do Tesouro
Interface (classe do TreasureMap):
void walkNorth (int steps)
O pirata move-se steps passos (unidades) na direco norte
pre: steps > 0
void walkEast (int steps)
O pirata move-se steps passos (unidades) na direco este
pre: steps > 0
void walkSouth (int steps)
O pirata move-se steps passos (unidades) na direco sul
pre: steps > 0
void walkWest (int steps)
O pirata move-se steps passos (unidades) na direco oeste
pre: steps > 0

Departamento de Informtica FCT UNL (uso reservado )

22

Mapa do Tesouro
Interface (classe do TreasureMap):

boolean dig()
O pirata escava na posio corrente e verifica se est o tesouro. Devolve true, se
estiver precisamente no local do tesouro, ou false, caso contrrio.
int getXPos()
Consulta a abcissa da posio corrente do pirata.
int getYPos()
Consulta a ordenada da posio corrente do pirata.
int getCurrentDirection()
Consulta a direco corrente do pirata. Devolve 0 = Norte; 1 = Este; 2 = Sul;
3 = Oeste.

Departamento de Informtica FCT UNL (uso reservado )

23

Mapa do Tesouro
TreasureMap map = new TreasureMap(8,-4);
map.walkNorth(1);
map.walkWest(3);
map.getXPos()
-3 (int)
map.getYPos()
1
(int)
map.dig()
false (boolean)
map.walkSouth(6);
map.walkEast(10);
map.walkNorth(1);
map.dig()
false (boolean)
map.walkEast(1);
map.dig()
true
(boolean)

Departamento de Informtica FCT UNL (uso reservado )

24

Mapa do Tesouro
Defina em Java uma classe TreasureMap.
Programe a sua classe no BlueJ.
Teste um (ou vrios) objectos TreasureMap, e
verifique se se comportam como esperado.

Departamento de Informtica FCT UNL (uso reservado )

25

Decatlo

Departamento de Informtica FCT UNL (uso reservado )

26

Decatlo
Objectivo
Manipular os resultados de um atleta de Decatlo.

Descrio
O decatlo consiste em 10 provas realizadas em dois dias: (1) 100 metros, salto em
comprimento, tiro, salto em altura, e 400 metros; (2) 110 metros barreiras, lanamento
do disco, salto com vara, lanamento do dardo e 1500 metros.
Cada prova tem uma pontuao (valor real). H 3 tipos de provas, cuja pontuao (P)
se calcula do seguinte modo:
Corridas: P=a*(b T)c
[onde T o Tempo em segundos;
e.g. 10.43 para 100 metros]
Saltos: P=a*(M b)c
[onde M a medida em centmetros;
e.g. 808 para o salto em comprimento]
Lanamentos: P=a*(D - b)c
[onde D a distncia em metros;
e.g. 16.69 para a prova de tiro]
Departamento de Informtica FCT UNL (uso reservado )

27

Decatlo
As constantes a, b e c, para cada prova, definem-se de acordo com a
seguinte tabela.
Unidade

Prova

Segundos (double)

100m

25.4347

18.00

1.81

Segundos (double)

400m

1.53775

82.00

1.81

Segundos (double)

1500m

0.03768

480.00

1.85

Segundos (double)

110m
Barreiras

5.74352

28.50

1.92

Centmetros (int)

High Jump

0.8465

75.00

1.42

Centmetros (int)

Pole Vault

0.2797

100.00

1.35

Centmetros (int)

Long Jump

0.14354

220.00

1.40

Metros (double)

Shot

51.39

1.50

1.05

Departamento de Informtica FCT UNL (uso reservado )

28

Decatlo
A pontuao global do atleta a parte inteira do valor resultante da soma de
todas as pontuaes obtidas nas diferentes provas do decatlo.
Funcionalidades
Registar o desempenho (tempo em segundos, medida em centmetros ou
distncia em metros) do atleta nas diferentes provas do decatlo (corridas,
saltos ou lanamentos).
sempre possvel consultar a pontuao do atleta numa dada prova do
decatlo, assim como a pontuao global (soma da pontuao de todas as
provas).

Interaco com o utilizador


Registar e calcular pontuaes das provas realizadas por um atleta no
decatlo.

Departamento de Informtica FCT UNL (uso reservado )

29

Decatlo
Interface (classe Decathlon):
// Sets com o resultado na respectiva prova
// Pre: t > 0, m > 0, d > 0 (nos respectivos mtodos)
void set100Meters(double t)
void set400Meters(double t)
void set1500Meters(double t)
void set110MetersHurdles(double t)
void setHighJump(int m)
void setLongJump(int m)
void setPoleVaultJump(int m)
void setShot(double d)
void setDiscus(double d)
void setJavelin(double d)
void reset() // deita fora todos os resultados
Departamento de Informtica FCT UNL (uso reservado )

30

Decatlo
// gets com a pontuao na respectiva prova
double get100Meters()
double get400Meters()
double get1500Meters()
double get110MetersHurdles()
double getHighJump()
double getLongJump()
double getPoleVaultJump()
double getShot()
double getDiscus()
double getJavelin()
/* calcula pontuao total, como somatrio da pontuao
de cada prova, arredondado para baixo */
int getPoints()
Departamento de Informtica FCT UNL (uso reservado )

31

Decatlo
Decathlon d = new Decathlon();

d.setShot(13.53f);

d.set100Meters(10.4f);

d.getPoints()

d.getPoints()

2600

999

d.setHighJump(210);

(int)

(int)

d.reset();

d.getPoints()

d.getPoints()

3497

(int)

(int)

d.set100Meters(10.4f);
d.setLongJump(736);
d.getPoints()
1900

(int)

Departamento de Informtica FCT UNL (uso reservado )

32

Decatlo
Defina em Java uma classe Decathlon.
Programe a sua classe no BlueJ.
Teste um (ou vrios) objectos Decathlon, e
verifique se se comportam como esperado.

Departamento de Informtica FCT UNL (uso reservado )

33

Outros exerccios

Departamento de Informtica FCT UNL (uso reservado )

34

Polgonos regulares

Departamento de Informtica FCT UNL (uso reservado )

35

Polgonos Regulares
Defina em Java uma classe RegularPolygon, cujos
objectos representam polgonos regulares. A sua classe
dever permitir a construo de um polgono regular com
um nmero arbitrrio de lados, bem como o clculo da
sua rea e permetro.
Programe a sua classe no BlueJ
Teste vrios objectos da classe RegularPolygon e
verifique que se comportam tal como esperado.

Departamento de Informtica FCT UNL (uso reservado )

36

Polgonos regulares

Todos os vrtices de um polgono regular esto


inscritos numa circunferncia de raio r

Todos os lados e ngulos do polgono regular


so iguais

A aptema mede a distncia mais curta do centro


geomtrico ao lado do polgono

Qualquer polgono regular pode ser


caracterizado por 3 medidas:
Lado (s)
Raio da circunferncia envolvente (r)
Aptema (a)

Pre:
r >0
a>0
s>0

Departamento de Informtica FCT UNL (uso reservado )

37

Polgonos regulares
O permetro P de um polgono regular de N lados
de comprimento L dado por:
P=n*s

A rea dada por:


A=*a*s*n
em que:
a = aptema (raio do crculo inscrito no polgono)
Aptema = Raio cos(/n)
s = comprimento do lado
r = raio do crculo circunscrito
Departamento de Informtica FCT UNL (uso reservado )

38

Polgonos regulares
RegularPolygon t = new RegularPolygon(1.0, 3);
t.perimeter()
5.196152422706632 (double)
t.area();
1.2990381056766582
(double)
RegularPolygon q = new RegularPolygon(1.0, 4);
t.perimeter()
6.92820323 (double)
t.area()
2.0
(double)

Departamento de Informtica FCT UNL (uso reservado )

39

Conversor

Departamento de Informtica FCT UNL (uso reservado )

40

Conversor
Defina em Java uma classe CurrencyConverter cujos objectos
guardam uma importncia numa determinada moeda que
convertem em Euros, Dlares, e Libras.
Programe a sua classe no BlueJ.
Teste um (ou vrios) objectos CurrencyConverter, e verifique se
estes se comportam como esperado.

Departamento de Informtica FCT UNL (uso reservado )

41

Conversor
Um conversor de cmbio permite transformar uma
importncia expressa numa moeda noutra moeda.
Neste problema vamos considerar apenas converses de e para
Euros (EUR), Libras (GPB) e Dlares (USD)
Considere as taxas de converso
1 USD = 0.70 EUR
1 EUR = 0.69 GBP

Operaes (interface de CurrencyConverter):


int getInEuros()
void setInEuros(int amount)
int getInDollars()
void setInDollars(int amount)
int getInPounds()
void setInPounds(int amount)
Departamento de Informtica FCT UNL (uso reservado )

42

Conversor
int getInEuros()
Consultar a importncia em euros

void setInEuros(int amount)


Definir a importncia em Euros

int getInDollars()
Consultar a importncia em dlares

void setInDollars(int amount)


Definir a importncia em dlares

int getInPounds()
Consultar a importncia em libras

void setInPounds(int amount)


Definir a importncia em libras
Departamento de Informtica FCT UNL (uso reservado )

43

Conversor
CurrencyConverter c = new CurrencyConverter();
c.setInEuros(100);
c.getInEuros()
100 (int)
c.getInDollars()
143 (int)
c.getInPounds()
69 (int)
c.setInPounds(200);
c.getInEuros()
290 (int)
c.getInDollars()
414 (int)
c.getInPounds()
200 (int)
Departamento de Informtica FCT UNL (uso reservado )

44

Tringulo

Departamento de Informtica FCT UNL (uso reservado )

45

Tringulo
Defina em Java uma classe Triang cujos objectos
representam tringulos num plano.
Programe a sua classe no BlueJ.
Teste um (ou vrios) objectos Triang, e verifique se se
comportam como esperado.

Departamento de Informtica FCT UNL (uso reservado )

46

Tringulo
Cada objecto Triang
Representa um tringulo no plano, definido pelos seus trs vrtices
As coordenadas devem ser de preciso muito grande

Pretende-se construir objectos Triang de duas maneiras:


Indicando:
A abcissa do primeiro vrticePx
A ordenada do primeiro vrtice Py
A abcissa do segundo vrtice
Qx
A ordenada do segundo vrtice Qy
A abcissa do terceiro vrtice Rx
A ordenada do terceiro vrtice Ry
No indicando nada:
o tringulo criado com os seguintes vrtices por defeito: (1, 1), (4, 4), (5, 1)
(conveniente para testes)
Departamento de Informtica FCT UNL (uso reservado )

47

Tringulo
Mtodos de acesso (getter methods) de Triang:
double getPx()
devolve a abcissa do primeiro vrtice
double getPy()
devolve a ordenada do primeiro vrtice
double getQx()
devolve a abcissa do segundo vrtice
double getQy()
devolve a ordenada do primeiro vrtice
double getRx()
devolve a abcissa do terceiro vrtice
double getRy()
devolve a ordenada do terceiro vrtice
Departamento de Informtica FCT UNL (uso reservado )

48

Tringulo
Operaes fornecidas por Triang:
double sideLength1()
devolve o comprimento do 1 lado (P-Q)
double sideLength2()
devolve o comprimento do 2 lado (Q-R)
double sideLength3()
devolve o comprimento do 3 lado (R-P)
double perimeter()
devolve o permetro
double area()
devolve a rea, segundo a frmula de Heron
Departamento de Informtica FCT UNL (uso reservado )

49

Tringulo
Operaes fornecidas por Triang

Lado P Q = ( P X Q X ) +( P Y Q Y )
2

Lado 1 + Lado 2 + Lado 3


Semipermetro : S=
2

rea= S( S Lado1 )(S Lado 2 )(S Lado3 )


Departamento de Informtica FCT UNL (uso reservado )

50

Tringulo
Operaes fornecidas por Triang
Pode haver outras operaes que seriam
convenientes existirem em Triang, para evitar
repeties dos mesmos clculos em pontos
distintos
Nas situaes em detecte uma dessas
operaes, implemente-a e utilize-a na
implementao de outras operaes de modo a
evitar repetio de cdigo
Departamento de Informtica FCT UNL (uso reservado )

51

Tringulo
Triang t = new Triang();
t.getX1()
1.0
(double)
t.getY2()
4.0
(double)
t.sideLength1()
4.242640687119285
(double)
t.sideLength2()
3.1622776601683795
(double)
t.semiPerimeter()
5.702459173643832
(double)
t.area()
5.999999999999999
(double)
Departamento de Informtica FCT UNL (uso reservado )

52

Clculo do IVA

Departamento de Informtica FCT UNL (uso reservado )

Clculo do IVA
Defina em Java uma classe VATCalculator cujos
objectos permitem o clculo do IVA para as taxas
existentes (em tempos) em Portugal.
Programe a sua classe no BlueJ.
Teste um (ou vrios) objectos VATCalculator, e verifique
se se comportam como esperado.

Departamento de Informtica FCT UNL (uso reservado )

Clculo de IVA
Cada objecto ou servio transaccionado em Portugal implica a
cobrana Imposto sobre o valor acrescentado (IVA).
Um empresrio que fornece servios deve cobrar IVA aos seus
clientes, que depois entrega ao estado.
Se, no processo dos seus negcios, adquirir bens ou servios,
pode descontar o IVA gasto naquele que tem de entregar ao
estado.
por isso importante saber o valor de IVA gasto ao longo de um
determinado perodo.
A cada valor lquido transaccionado aplica-se uma taxa de IVA,
dependendo do tipo do produto ou servio em causa
O IVA calculado multiplicando o valor lquido pela taxa

O valor bruto da transaco calcula-se somando o valor lquido ao


valor do IVA

Departamento de Informtica FCT UNL (uso reservado )

Clculo de IVA
Cada objecto VATCalculator
Representa uma calculadora de IVA segundo trs
taxas: mnima, mdia e mxima
Um objecto VATCalculator criado:
Indicando a taxa mnima, mdia e mxima de IVA e
aplicar e cada categoria de transaco
Sem indicar nada, o que implica a utilizao das taxas
conhecidas (5%, 12% e 20%)

Departamento de Informtica FCT UNL (uso reservado )

Clculo de IVA
Operaes reconhecidas (interface de VATCalculator) :
void addValueMin(double netAmount)
Adio de valor gasto lquido (sem IVA) dentro da taxa mnima.
Pre: netAmount > 0
void addValueMed(double netAmount)
Adio de valor gasto lquido (sem IVA) dentro da taxa mdia.
Pre: netAmount > 0
void addValueMax(double netAmount)
Adio de valor gasto lquido (sem IVA) dentro da taxa mxima.
Pre: netAmount > 0
Departamento de Informtica FCT UNL (uso reservado )

Clculo de IVA
Operaes reconhecidas (mtodos de consulta) :
double getVATTotal()

Mtodo que devolve o valor total de IVA calculado.


double getNetTotal()

Mtodo que devolve o valor total lquido transaccionado.


double getGrossTotal()

Mtodo que devolve o valor total bruto transaccionado.


double getVATMin()

Mtodo que devolve o valor de IVA dentro da taxa mnima.


double getVATMed()

Mtodo que devolve o valor de IVA dentro da taxa mdia.


double getVATMax()

Mtodo que devolve o valor de IVA dentro da taxa mxima.


Departamento de Informtica FCT UNL (uso reservado )

Clculo de IVA
VATCalculator v=new VATCalculator(0.05,0.12,0.20);
v.addValueMin(253);
v.getGrossTotal()
v.addValueMed(3100);
4337.65
(double)
v.addValueMax(500);
v.addValueMed(405);
v.getVATTotal()
v.getVATMin()
533.25
(double)
12.65
(double)
v.getNetTotal()
4258.0
(double)
v.getVATMed()
v.getGrossTotal()
372.0
(double)
4791.25
(double)
v.getVATMax()
100.0
(double)
v.getVATTotal()
484.65
(double)
v.getNetTotal()
3853.0
(double)
Departamento de Informtica FCT UNL (uso reservado )

Você também pode gostar