You are on page 1of 28

Bi tp JavaCore

Tham kho:
1. Bi ging trn lp
2. Cc mc tng ng trong cun Java Programming !ntro"uctor# Cour$%
&%c'nolog#.p"( )Jo#c% *arr%ll Java Programming +t' ,"ition.p"(-
.. /ing 2 ta0 cui v1 )t2n' t'3a 456 7a '8n'6 lp tr3u t9ng6 giao
"i:n- t'am 4'o mc tng ng trong cun !ntro"uction to Java
Programming.c'm );. <ani%l =iang !ntro"uction to Java
Programming6 Bri%( >%r$ion )?t' ,"ition--
Mc lc:
Programming @$ing A%t'o"$..............................................................................................1
@$ing Cla$$%$........................................................................................................................
!nput an" <%ci$ion Aa4ing.................................................................................................B
Cp%cial Dp%rator$6 t'% $Eitc' Ctat%m%nt6 an" Pr%c%"%nc%.................................................11
=ooping an" C'ortcut Frit'm%tic......................................................................................1.
Frra#..................................................................................................................................1G
Ctring..................................................................................................................................1H
!n'%ritanc% I Pol#morp'i$m.............................................................................................1B
F0$tract Cla$$ I !nt%r(ac%.................................................................................................22
1
Programming Using Methods
1
a.
Cr%at% a cla$$ nam%" Jum0%r$ E'o$% main)- m%t'o" 'ol"$ tEo int%g%r varia0l%$.
F$$ign valu%$ to t'% varia0l%$. Cr%at% tEo a""itional m%t'o"$6 $um)- an"
"i((%r%nc%)-6 t'at comput% t'% $um o( an" "i((%r%nc% 0%tE%%n t'% valu%$ o( t'% tEo
varia0l%$6 r%$p%ctiv%l#. ,ac' m%t'o" $'oul" p%r(orm t'% computation an" "i$pla#
t'% r%$ult$. !n turn6 call %ac' o( t'% tEo m%t'o"$ (rom main)-6 pa$$ing t'% valu%$ o(
t'% tEo int%g%r varia0l%$. Cav% t'% program a$ Jum0%r$.Kava in t'% C'apt%r.L2
(ol"%r on #our Ctu"%nt <i$4.
0.
F"" a m%t'o" nam%" pro"uct)- to t'% Jum0%r$ cla$$. &'% pro"uct)- m%t'o" $'oul"
comput% t'% multiplication pro"uct o( tEo int%g%r$6 0ut not "i$pla# t'% an$E%r.
!n$t%a"6 it $'oul" r%turn t'% an$E%r to t'% calling main)- program6 E'ic' "i$pla#$
t'% an$E%r. Cav% t'% program a$ Jum0%r$.Kava.
2
Cr%at% a program t'at "i$pla#$ t'% r%$ult o( a $al%$ tran$action. &'% calculation
r%Muir%$ t'r%% num0%r$. &'% (ir$t num0%r r%pr%$%nt$ t'% pro"uct pric%. &'% $%con"
num0%r i$ t'% $al%$p%r$on commi$$ion. &'%$% tEo num0%r$ $'oul" 0% a""%"
tog%t'%r. &'% t'ir" valu% r%pr%$%nt$ a cu$tom%r "i$countN $u0tract t'i$ t'ir" num0%r
(rom t'% r%$ult o( t'% a""ition. Cr%at% tEo cla$$%$. &'% (ir$t cla$$ contain$ t'%
m%t'o" to "o t'% calculation. &'% t'r%% num0%r$ ar% pa$$%" to t'i$ m%t'o" 0# a
$tat%m%nt in t'% ot'%r cla$$. &'% "i$pla# i$ p%r(orm%" in t'% cla$$ t'at call$ t'%
calculation m%t'o". Cav% t'% program a$ Calculator.Kava in t'% C'apt%r.L2 (ol"%r on
#our Ctu"%nt <i$4.
.
Cr%at% a cla$$ nam%" C'irt Eit' "ata (i%l"$ (or collar $iO% an" $l%%v% l%ngt'. !nclu"% a
con$tructor m%t'o" t'at ta4%$ argum%nt$ (or %ac' (i%l". Fl$o inclu"% a Ctring cla$$
varia0l% nam%" mat%rial an" initialiO% it to PcottonQ. Rrit% a program nam%" &%$tC'irt
to in$tantiat% t'r%% C'irt o0K%ct$ Eit' "i((%r%nt collar $iO%$ an" $l%%v% l%ngt'$6 an"
t'%n "i$pla# all t'% "ata6 inclu"ing mat%rial6 (or %ac' $'irt. Cav% 0ot' t'% C'irt.Kava
an" &%$tC'irt.Kava program$ in t'% C'apt%r.L. (ol"%r o( #our Ctu"%nt <i$4.
G
Cr%at% a cla$$ nam%" C'%c4ingFccount Eit' "ata (i%l"$ (or an account num0%r an" a
0alanc%. !nclu"% a con$tructor m%t'o" t'at ta4%$ argum%nt$ (or %ac' (i%l". !nclu"% a
"ou0l% cla$$ varia0l% t'at 'ol"$ a valu% (or t'% minimum 0alanc% r%Muir%" 0%(or% a
mont'l# (%% i$ appli%" to t'% account6 an" $%t t'% minimum 0alanc% to 2LL.LL. Rrit%
a program nam%" &%$tFccount in E'ic' #ou in$tantiat% tEo C'%c4ingFccount o0K%ct$
an" "i$pla# t'% account num0%r6 0alanc%6 an" minimum 0alanc% Eit'out (%% (or 0ot'
account$. Cav% %ac' (il% in t'% C'apt%r.L. (ol"%r on #our Ctu"%nt <i$4.
2
+. Rrit% a Java program to "%t%rmin% t'% an$E%r$ (or %ac' o( t'% (olloEingS
a. &'% $Muar% root o( .L
0. &'% $in% an" co$in% o( 1LL
c. &'% valu% o( t'% (loor6 c%iling6 an" roun" o( GG.H
". &'% larg%r an" t'% $mall%r o( t'% c'aract%r T an" t'% int%g%r HL
U. Rrit% a program to calculat% 'oE man# milli$%con"$ it i$ (rom to"a# until t'% (ir$t "a#
o( $umm%r )a$$um% t'at t'i$ "at% i$ n%Vt Jun% 21-.
H. Rrit% a program to calculat% 'oE man# "a#$ it i$ (rom to"a# until t'% %n" o( t'%
curr%nt #%ar.
B
Ao"i(# t'% ,mplo#%% cla$$ $'oEn in *igur% .1H 0# c'anging t'% cla$$ nam% to
,mplo#%%Rit'<at%. &'%n c'ang% t'% $'oECompan#!<)- m%t'o" $o it $'oE$ t'%
curr%nt "at% in a""ition to t'% %mplo#%% num0%r an" compan# !<. Cav% t'% (il% a$
,mplo#%%Rit'<at%.Kava in t'% C'apt%r.L. (ol"%r on #our Ctu"%nt <i$4. &'%n Erit% a
program t'at cr%at%$ an" "i$pla#$ tEo or mor% ,mplo#%%Rit'<at% o0K%ct$. Cav% t'i$
n%E program a$ @$%,mplo#%%Rit'<at%.Kava in t'% C'apt%r.L. (ol"%r on #our
Ctu"%nt <i$4.
Figure 3-17: mplo!ee cla"" #ith a "tatic $% &um'er (iel)
pu0lic cla$$ ,mplo#%%
W
$tatic privat% int CDAPFJ;X!< Y 12.G+N
privat% int %mpJumN
privat% "ou0l% %mpCalar#N
,mplo#%%)int num-
ZZ Con$tructor r%Muiring %mplo#%% num0%r
W
%mpJum Y numN
[
pu0lic voi" $'oECompan#!<)-
W
C#$t%m.out.println)\Ror4%r \ ] %mpJum
] \ 'a$ compan# !< \ ] CDAPFJ;X!<-N
[
ZZ Dt'%r cla$$ m%t'o"$ can go '%r%
[
Using Classes
1
a.
.
Cr%at% a cla$$ nam%" PiOOa. <ata (i%l"$ inclu"% a Ctring (or topping$ )$uc' a$
Pp%pp%roniQ-6 an int%g%r (or "iam%t%r in inc'%$ )$uc' a$ 12-6 an" a "ou0l% (or pric%
)$uc' a$ 1..??-. !nclu"% m%t'o"$ to g%t an" $%t valu%$ (or %ac' o( t'%$% (i%l"$.
Cav% t'% cla$$ a$ PiOOa.Kava in t'% C'apt%r.L2 (ol"%r on #our Ctu"%nt <i$4.
0.
Cr%at% a cla$$ nam%" &%$tPiOOa t'at in$tantiat%$ on% PiOOa o0K%ct an"
"%mon$trat%$ t'% u$% o( t'% PiOOa $%t an" g%t m%t'o"$. Cav% t'i$ cla$$ a$
&%$tPiOOa.Kava in t'% C'apt%r.L2 (ol"%r o( #our Ctu"%nt <i$4.
2
a.
Cr%at% a cla$$ nam%" Circl% Eit' (i%l"$ nam%" ra"iu$6 ar%a6 an" "iam%t%r. !nclu"%
a con$tructor t'at $%t$ t'% ra"iu$ to 1. Fl$o inclu"% m%t'o"$ nam%" $%t/a"iu$)-6
g%t/a"iu$)-6 comput%<iam%t%r)-6 E'ic' comput%$ a circl%^$ "iam%t%r6 an"
comput%Fr%a)-6 E'ic' comput%$ a circl%^$ ar%a. )&'% "iam%t%r o( a circl% i$ tEic% it$
ra"iu$6 an" t'% ar%a i$ ..1G multipli%" 0# t'% $Muar% o( t'% ra"iu$.- Cav% t'% cla$$
a$ Circl%.Kava in t'% C'apt%r.L2 (ol"%r o( #our Ctu"%nt <i$4.
0.
Cr%at% a cla$$ nam%" &%$tCircl% E'o$% main)- m%t'o" "%clar%$ t'r%% Circl%
o0K%ct$. @$ing t'% $%t/a"iu$)- m%t'o"6 a$$ign on% Circl% a $mall ra"iu$ valu% an"
a$$ign anot'%r a larg%r ra"iu$ valu%. <o not a$$ign a valu% to t'% ra"iu$ o( t'% t'ir"
circl%N in$t%a"6 r%tain t'% valu% a$$ign%" at con$truction. Call comput%<iam%t%r)-
an" comput%Fr%a)- (or %ac' circl% an" "i$pla# t'% r%$ult$. Cav% t'% program a$
&%$tCircl%.Kava in t'% C'apt%r.L2 (ol"%r on #our Ctu"%nt <i$4.
.
Rrit% a program t'at "i$pla#$ an invoic% o( $%v%ral it%m$. !t $'oul" contain t'% it%m
nam%6 Muantit#6 pric%6 an" total co$t on %ac' lin% (or t'% Muantit# an" it%m co$t. @$%
tEo cla$$%$. &'% (ir$t cla$$ contain$ t'% it%m "ata an" m%t'o"$ to g%t an" $%t t'%
it%m nam%6 Muantit# an" pric%. &'% ot'%r cla$$ cr%at%$ o0K%ct$ (or t'% it%m$ an" u$%$
t'% o0K%ct$ to call t'% $%t an" g%t m%t'o"$. Cav% t'% program a$ !nvoic%.Kava in t'%
C'apt%r.L2 (ol"%r on #our Ctu"%nt <i$4.
G
Rrit% a program t'at $c'%"ul%$ $%v%ral m%%ting$ (or a m%%ting room. !t $'oul"
contain t'% "a# o( t'% E%%46 $tarting tim%6 an" %n"ing tim% (or %ac' m%%ting. @$% tEo
cla$$%$. &'% (ir$t cla$$ contain$ t'% m%%ting "ata an" m%t'o"$ to g%t an" $%t t'% "a#
o( t'% E%%4 an" tim%$. &'% ot'%r cla$$ cr%at%$ o0K%ct$ (or t'% m%%ting$ an" u$%$ t'%
o0K%ct$ to call t'% $%t an" g%t m%t'o"$. Cav% t'% program a$ /oomCc'%"ul%.Kava in
t'% C'apt%r.L2 (ol"%r on #our Ctu"%nt <i$4.
+
a.
Cr%at% a cla$$ nam%" Commi$$ion t'at inclu"%$ t'r%% varia0l%$S a "ou0l% $al%$
(igur%6 a "ou0l% commi$$ion rat%6 an" an int%g%r commi$$ion rat%. Cr%at% tEo
G
ov%rloa"%" m%t'o"$ nam%" comput%Commi$$ion)-. &'% (ir$t m%t'o" ta4%$ tEo
"ou0l% argum%nt$ r%pr%$%nting $al%$ an" rat%6 multipli%$ t'%m6 an" t'%n "i$pla#$
t'% r%$ult$. &'% $%con" m%t'o" ta4%$ tEo argum%nt$S a "ou0l% $al%$ (igur% an" an
int%g%r commi$$ion rat%. &'i$ m%t'o" mu$t "ivi"% t'% commi$$ion rat% (igur% 0#
1LL.L 0%(or% multipl#ing 0# t'% $al%$ (igur% an" "i$pla#ing t'% commi$$ion. Cuppl#
appropriat% valu%$ (or t'% varia0l%$ an" Erit% a main)- m%t'o" t'at t%$t$ %ac'
ov%rloa"%" m%t'o". Cav% t'% program a$ Commi$$ion.Kava in t'% C'apt%r.L.
(ol"%r on #our Ctu"%nt <i$46 an" t'%n compil% an" t%$t t'% program.
0.
F"" a t'ir" ov%rloa"%" m%t'o" to t'% Commi$$ion program #ou cr%at%" in ,V%rci$%
1a. &'% t'ir" ov%rloa"%" m%t'o" ta4%$ a $ingl% argum%nt r%pr%$%nting $al%$. R'%n
t'i$ m%t'o" i$ call%"6 t'% commi$$ion rat% i$ a$$um%" to 0% H.+ p%rc%nt an" t'%
r%$ult$ ar% "i$pla#%". &o t%$t t'i$ m%t'o"6 a"" an appropriat% call in t'%
Commi$$ion program^$ main)- m%t'o". Cav% t'% program6 compil%6 an" t%$t it.
U
Cr%at% a cla$$ nam%" Pa# t'at inclu"%$ (iv% "ou0l% varia0l%$ t'at 'ol" 'our$ Eor4%"6
rat% o( pa# p%r 'our6 Eit''ol"ing rat%6 gro$$ pa#6 an" n%t pa#. Cr%at% t'r%%
ov%rloa"%" comput%J%tPa#)- m%t'o"$. _ro$$ pa# i$ comput%" a$ 'our$ Eor4%"
multipli%" 0# pa# p%r 'our. R'%n comput%J%tPa#)- r%c%iv%$ valu%$ (or 'our$6 pa#
rat%6 an" Eit''ol"ing rat%6 it comput%$ t'% gro$$ pa# an" r%"uc%$ it 0# t'%
appropriat% Eit''ol"ing amount to pro"uc% t'% n%t pa#. R'%n comput%J%tPa#)-
r%c%iv%$ tEo argum%nt$6 t'% Eit''ol"ing rat% i$ a$$um%" to 0% 1+ p%rc%nt. R'%n
comput%J%tPa#)- r%c%iv%$ on% argum%nt6 t'% Eit''ol"ing i$ a$$um%" to 0% 1+
p%rc%nt an" t'% 'ourl# rat% i$ a$$um%" to 0% G.U+. Rrit% a main)- m%t'o" t'at t%$t$
all t'r%% ov%rloa"%" m%t'o"$. Cav% t'% program a$ Pa#.Kava in t'% C'apt%r.L. (ol"%r
on #our Ctu"%nt <i$4.
H
a.
Cr%at% a cla$$ nam%" `ou$%'ol" t'at inclu"%$ "ata (i%l"$ (or t'% num0%r o(
occupant$ an" t'% annual incom%6 a$ E%ll a$ m%t'o"$ nam%" $%tDccupant$)-6
$%t!ncom%)-6 g%tDccupant$)-6 an" g%t!ncom%)- t'at $%t an" r%turn t'o$% valu%$6
r%$p%ctiv%l#. F""itionall#6 cr%at% a con$tructor t'at r%Muir%$ no argum%nt$ an"
automaticall# $%t$ t'% occupant$ (i%l" to 1 an" t'% incom% (i%l" to L. Cav% t'i$ (il%
a$ `ou$%'ol".Kava in t'% C'apt%r.L. (ol"%r on #our Ctu"%nt <i$4. Cr%at% a program
nam%" &%$t`ou$%'ol" t'at "%mon$trat%$ t'at %ac' o( t'% m%t'o"$ Eor4$ corr%ctl#.
Cav% t'% (il% a$ &%$t`ou$%'ol".Kava in t'% C'apt%r.L. (ol"%r on #our Ctu"%nt <i$4.
0.
Cr%at% an a""itional ov%rloa"%" con$tructor (or t'% `ou$%'ol" cla$$ #ou cr%at%" in
,V%rci$% .a. &'i$ con$tructor r%c%iv%$ an int%g%r argum%nt an" a$$ign$ t'% valu%
to t'% occupant$ (i%l". F"" an# n%%"%" $tat%m%nt$ to &%$t`ou$%'ol" to %n$ur% t'at
t'% ov%rloa"%" con$tructor Eor4$ corr%ctl#6 $av% it6 an" t'%n t%$t it.
c.
Cr%at% a t'ir" ov%rloa"%" con$tructor (or t'% `ou$%'ol" cla$$ #ou cr%at%" in
,V%rci$%$ .a an" .0. &'i$ con$tructor r%c%iv%$ tEo argum%nt$6 t'% valu%$ o( E'ic'
+
ar% a$$ign%" to t'% occupant$ an" incom% (i%l"$6 r%$p%ctiv%l#. Flt%r t'%
&%$t`ou$%'ol" program to "%mon$trat% t'at %ac' v%r$ion o( t'% con$tructor Eor4$
prop%rl#. Cav% t'% program an" t'%n compil% an" t%$t it.
B
Cr%at% a cla$$ nam%" BoV t'at inclu"%$ int%g%r "ata (i%l"$ (or l%ngt'6 Ei"t'6 an"
'%ig't. Cr%at% t'r%% con$tructor$ t'at r%Muir% on%6 tEo6 an" t'r%% argum%nt$6
r%$p%ctiv%l#. R'%n on% argum%nt i$ u$%"6 a$$ign it to l%ngt'6 a$$ign O%ro$ to '%ig't
an" Ei"t'6 an" print P=in% cr%at%"Q. R'%n tEo argum%nt$ ar% u$%"6 a$$ign t'%m to
l%ngt' an" Ei"t'6 a$$ign O%ro to '%ig't6 an" print P/%ctangl% cr%at%"Q. R'%n t'r%%
argum%nt$ ar% u$%"6 a$$ign t'%m to t'% t'r%% varia0l%$ an" print PBoV cr%at%"Q. Cav%
t'i$ (il% a$ BoV.Kava in t'% C'apt%r.L. (ol"%r o( #our Ctu"%nt <i$4. Cr%at% a program
nam%" &%$tBoV t'at "%mon$trat%$ t'at %ac' o( t'% m%t'o"$ Eor4$ corr%ctl#. Cav%
t'% t%$t (il% a$ &%$tBoV.Kava in t'% C'apt%r.L. (ol"%r on #our Ctu"%nt <i$4.
?. R'at i$ t'% r%$ult E'%n #ou compil% an" run t'% (olloEing co"%a R'#a
cla$$ Ccop%
W
int $cop%!nt Y 1N
voi" $cop%<i$pla#)-
W
int $cop%!nt Y 1LN
C#$t%m.out.println)\$cop%!nt Y \ ] $cop%!nt-N
[
pu0lic $tatic voi" main)Ctringbc arg$-
W
Ccop% $cop%,V%rci$% Y n%E Ccop%)-N
$cop%,V%rci$%.$cop%<i$pla#)-N
[
[
1L
a. R'at i$ t'% r%$ult E'%n #ou compil% an" run t'% (olloEing co"%a R'#a
cla$$ Dv%rloa"
W
pu0lic $tatic voi" main)Ctringbc arg$-
W
Dv%rloa" ov%rloa",V%rci$% Y n%E Dv%rloa")-N
ov%rloa",V%rci$%.m%t'o"Dv)-N
ov%rloa",V%rci$%.m%t'o"Dv)U.16 .-N
[
voi" m%t'o"Dv)-
W
C#$t%m.out.println)\no argum%nt$\-N
[
voi" m%t'o"Dv)"ou0l% "0lFrg6 int intFrg-
U
W
C#$t%m.out.println)\"0lFrg Y \ ] "0lFrg ]
intFrg Y ] intFrg-N
[
[
0.
R'at 'app%n$ E'%n #ou compil% an" run t'% program $'oEn in ,V%rci$% Ua i( #ou
r%plac% t'% lin% ov%rloa",V%rci$%.m%t'o"Dv)U.16 .-N Eit'
ov%rloa",V%rci$%.m%t'o"Dv)U6 .-N6 an" E'#a
c. R'at 'app%n$ i( #ou c'ang% t'% program $'oEn in ,V%rci$% Ua a$ (olloE$6 an"
E'#a
cla$$ Dv%rloa"
W
pu0lic $tatic voi" main)Ctringbc arg$-
W
Dv%rloa" ov%rloa",V%rci$% Y n%E Dv%rloa")-N
ov%rloa",V%rci$%.m%t'o"Dv)U.16 ..2-N
[
voi" m%t'o"Dv)"ou0l% "0lFrg6 (loat (ltFrg-
W
C#$t%m.out.println)\"0lFrg Y \ ] "0lFrg ]
(ltFrg Y ] (ltFrg-N
[
voi" m%t'o"Dv)(loat (ltFrg6 "ou0l% "0lFrg-
W
C#$t%m.out.println)\"0lFrg Y \ ] "0lFrg ]
(ltFrg Y ] (ltFrg-N
[
[
". !( t'% program $'oEn in ,V%rci$% Uc r%$ult$ in a compil% %rror6 'oE Eoul" #ou (iV t'%
program $o it compil%$ an" run$ $ucc%$$(ull#a
11)&'% Fan cla$$- <%$ign a cla$$ nam%" Fan to r%pr%$%nt a (an. &'% cla$$ contain$S
&'r%% con$tant$ nam%" SLOW6 MEDIUM6 an" FAST Eit' valu%$ 16 26 an" 3 to
"%not% t'% (an $p%%".
Fn int "ata (i%l" nam%" speed t'at $p%ci(i%$ t'% $p%%" o( t'% (an )"%(ault
SLOW-.
F boolean "ata (i%l" nam%" on t'at $p%ci(i%$ E'%t'%r t'% (an i$ on )"%(ault
false-.
F double "ata (i%l" nam%" radius t'at $p%ci(i%$ t'% ra"iu$ o( t'% (an
)"%(ault 5-.
F $tring "ata (i%l" nam%" color t'at $p%ci(i%$ t'% color o( t'% (an )"%(ault
H
blue-.
F noarg con$tructor t'at cr%at%$ a "%(ault (an.
&'% acc%$$or an" mutator m%t'o"$ (or all (our "ata (i%l"$.
F m%t'o" nam%" toStrin!" t'at r%turn$ a $tring "%$cription (or t'% (an. !(
t'% (an i$ on6 t'% m%t'o" r%turn$ t'% (an $p%%"6 color6 an" ra"iu$ in on%
com0in%" $tring. !( t'% (an i$ not on6 t'% m%t'o" r%turn$ (an color an"
ra"iu$ along Eit' t'% $tring #fan is off# in on% com0in%" $tring.
<raE t'% @A= "iagram (or t'% cla$$. !mpl%m%nt t'% cla$$. Rrit% a t%$t program
t'at cr%at%$ tEo Fan o0K%ct$. F$$ign maVimum $p%%"6 ra"iu$ 1%6 color &ello'6 an"
turn it on to t'% (ir$t o0K%ct. F$$ign m%"ium $p%%"6 ra"iu$ 56 color blue6 an" turn it
o(( to t'% $%con" o0K%ct. <i$pla# t'% o0K%ct$ 0# invo4ing t'%ir toStrin m%t'o".
1*)&'% M&Inteer cla$$- <%$ign a cla$$ nam%" M&Inteer. &'% cla$$ contain$S
Fn int "ata (i%l" nam%" (alue t'at $tor%$ t'% int valu% r%pr%$%nt%" 0#
t'i$ o0K%ct.
F con$tructor t'at cr%at%$ a M&Inteer o0K%ct (or t'% $p%ci(i%" int valu%.
F g%t m%t'o" t'at r%turn$ t'% int valu%.
A%t'o"$ isE(en!"6 isOdd!"6 an" is)ri*e!" t'at r%turn true i( t'% valu%
i$ %v%n6 o""6 or prim%6 r%$p%ctiv%l#.
Ctatic m%t'o"$ isE(en!int"6 isOdd!int"6 an" is)ri*e!int" t'at r%turn
true i( t'% $p%ci(i%" valu% i$ %v%n6 o""6 or prim%6 r%$p%ctiv%l#.
Ctatic m%t'o"$ isE(en!M&Inteer"6 isOdd!M&Inteer"6 an"
is)ri*e!M&Inteer" t'at r%turn true i( t'% $p%ci(i%" valu% i$ %v%n6 o""6
or prim%6 r%$p%ctiv%l#.
A%t'o"$ e+uals!int" an" e+uals!M&Inteer" t'at r%turn true i( t'%
valu% in t'% o0K%ct i$ %Mual to t'% $p%ci(i%" valu%.
F $tatic m%t'o" parseInt!int" t'at conv%rt$ a $tring to an int valu%.
<raE t'% @A= "iagram (or t'% cla$$. !mpl%m%nt t'% cla$$. Rrit% a cli%nt program
t'at t%$t$ all m%t'o"$ in t'% cla$$.
13)&'% M&)oint cla$$- <%$ign a cla$$ nam%" M&)oint to r%pr%$%nt a point Eit' , an"
&coor"inat%$. &'% cla$$ contain$S
&Eo "ata (i%l"$ , an" & t'at r%pr%$%nt t'% coor"inat%$.
F noarg con$tructor t'at cr%at%$ a point )%6 %-.
B
F con$tructor t'at con$truct$ a point Eit' $p%ci(i%" coor"inat%$.
&Eo g%t m%t'o"$ (or "ata (i%l"$ , an" &6 r%$p%ctiv%l#.
F m%t'o" nam%" distance t'at r%turn$ t'% "i$tanc% (rom t'i$ point to
anot'%r point o( t'% M&)oint t#p%.
F m%t'o" nam%" distance t'at r%turn$ t'% "i$tanc% (rom t'i$ point to
anot'%r point Eit' $p%ci(i%" , an" &coor"inat%$.
<raE t'% @A= "iagram (or t'% cla$$. !mpl%m%nt t'% cla$$. Rrit% a t%$t program
t'at cr%at%$ tEo point$ )%6 %- an" )1%6 3%-5- an" "i$pla#$ t'% "i$tanc% 0%tE%%n
t'%m.
Input and Decision Making
1
a.
Rrit% a program t'at prompt$ t'% u$%r (or a (ourc'aract%r pa$$Eor"6 acc%pt$ (our
c'aract%r$6 an" t'%n %c'o%$ t'% c'aract%r$ to t'% $cr%%n. &'% cla$$ nam% i$
Pa$$Eor".
0.
Rrit% a program t'at prompt$ t'% u$%r (or a (ourc'aract%r pa$$Eor"6 acc%pt$ (our
c'aract%r$6 an" t'%n %c'o%$ t'% c'aract%r$ to t'% $cr%%n. &%$t t'% (ir$t c'aract%r. !(
it i$ B6 i$$u% a m%$$ag% t'at t'% pa$$Eor" i$ vali"N ot'%rEi$% i$$u% a m%$$ag% t'at
t'% pa$$Eor" i$ not vali". &'% cla$$ nam% i$ Pa$$Eor"2.
c.
Rrit% a program t'at prompt$ t'% u$%r (or a (ourc'aract%r pa$$Eor"6 acc%pt$ (our
c'aract%r$6 an" t'%n %c'o%$ t'% c'aract%r$ to t'% $cr%%n. &%$t all (our c'aract%r$.
!( t'% c'aract%r$ $p%ll B D = &6 t'%n i$$u% a m%$$ag% t'at t'% pa$$Eor" i$ vali"N
ot'%rEi$% i$$u% a m%$$ag% t'at t'% pa$$Eor" i$ not vali". &'% cla$$ nam% i$
Pa$$Eor"..
2
a.
Rrit% a program (or a (urnitur% compan#. F$4 t'% u$%r to c'oo$% P (or pin%6 D (or
oa46 or A (or ma'ogan#. C'oE t'% pric% o( a ta0l% manu(actur%" Eit' t'% c'o$%n
Eoo". Pin% ta0l%$ co$t d1LL6 oa4 ta0l%$ co$t d22+6 an" ma'ogan# ta0l%$ co$t
d.1L. &'% cla$$ nam% i$ *urnitur%.
0.
F"" a prompt to t'% program #ou Erot% in ,V%rci$% 2a to a$4 t'% u$%r to $p%ci(# a
larg% )=- or a $mall )C- ta0l%. F"" d.+ to t'% pric% o( an# larg% ta0l%. &'% cla$$
nam% i$ *urnitur%CiO%$.
?
.
Rrit% a program (or a coll%g%^$ a"mi$$ion$ o((ic%. Cr%at% varia0l%$ to $tor% a
$tu"%nt^$ num%ric 'ig' $c'ool gra"% point av%rag% )(or %Vampl%6 ..2- an" an
a"mi$$ion t%$t $cor%. Print t'% m%$$ag% PFcc%ptQ i( t'% $tu"%nt 'a$ an# o( t'%
(olloEingS
e F gra"% point av%rag% o( ..L or a0ov% an" an a"mi$$ion t%$t $cor% o( at l%a$t UL
e F gra"% point av%rag% 0%loE ..L an" an a"mi$$ion t%$t $cor% o( at l%a$t BL
!( t'% $tu"%nt "o%$ not m%%t %it'%r o( t'% Muali(ication crit%ria6 print P/%K%ctQ. &'% cla$$
nam% i$ F"mi$$ion.
G
Rrit% a program t'at $tor%$ an 'ourl# pa# rat% an" 'our$ Eor4%". Comput% gro$$ pa#
)'our$ tim%$ rat%-6 Eit''ol"ing taV6 an" n%t pa# )gro$$ pa# minu$ Eit''ol"ing taV-.
Rit''ol"ing taV i$ comput%" a$ a p%rc%ntag% o( gro$$ pa# 0a$%" on t'% (olloEingS
_ro$$ Pa#
Rit''ol"ing P%rc%ntag%
@p to an" inclu"ing .LL.LL
1L
.LL.L1 an" up
12
&'% cla$$ nam% i$ Pa#roll.
+
a.
Rrit% a program t'at $tor%$ tEo int%g%r$ an" alloE$ t'% u$%r to %nt%r a c'aract%r. !(
t'% c'aract%r i$ F6 a"" t'% tEo int%g%r$. !( it i$ C6 $u0tract t'% $%con" int%g%r (rom
t'% (ir$tN i( it i$ A6 multipl# t'% int%g%r$. <i$pla# t'% r%$ult$ o( t'% arit'm%tic. &'%
cla$$ nam% i$ Calculat%.
0.
Ao"i(# t'% Calculat% program $o t'% u$%r al$o can %nt%r a < (or "ivi"%. !( t'%
$%con" num0%r i$ O%ro6 t'%n "i$pla# an %rror m%$$ag%N ot'%rEi$% "ivi"% t'% (ir$t
num0%r 0# t'% $%con" an" "i$pla# t'% r%$ult$. Jam% t'% mo"i(i%" cla$$ Calculat%2.
U
a. Rrit% a program (or a laEn moEing $%rvic%. &'% laEn moEing $%a$on la$t$ 2L
E%%4$. &'% E%%4l# (%% (or moEing a lot un"%r GLL $Muar% (%%t i$ d2+. &'% (%% (or a
lot GLL $Muar% (%%t or mor% 0ut un"%r ULL $Muar% (%%t i$ d.+ p%r E%%4. &'% (%% (or
a lot ULL $Muar% (%%t or ov%r i$ d+L p%r E%%4. Ctor% t'% valu%$ in t'% l%ngt' an"
Ei"t' varia0l%$ an" t'%n print t'% E%%4l# moEing (%%6 a$ E%ll a$ t'% $%a$onal (%%.
&'% cla$$ nam% i$ =aEn.
0.
&o t'% =aEn program cr%at%" in Ua6 a"" a prompt t'at a$4$ t'% u$%r E'%t'%r t'%
cu$tom%r Eant$ to pa# F- onc%6 B- tEic%6 or C- 2L tim%$ p%r #%ar. !( t'% u$%r %nt%r$
F (or onc%6 t'% (%% (or t'% $%a$on i$ $impl# t'% $%a$onal total. !( t'% cu$tom%r
r%Mu%$t$ tEo pa#m%nt$6 %ac' pa#m%nt i$ 'al( t'% $%a$onal (%% plu$ a d+ $%rvic%
1L
c'arg%. !( t'% u$%r r%Mu%$t$ 2L $%parat% pa#m%nt$6 a"" a d. $%rvic% c'arg% p%r
E%%4. Print t'% pa#m%nt amount. &'% cla$$ nam% i$ =aEn2.
H
a.
Rrit% a program nam%" Balanc%.Kava t'at compar%$ #our c'%c4ing account
0alanc% Eit' #our $aving$ account 0alanc% )tEo "ou0l%$-. F$$ign valu%$ to 0ot'
varia0l%$ an" compar% t'%m6 an" t'%n "i$pla# %it'%r PC'%c4ing i$ 'ig'%rQ or
PC'%c4ing i$ not 'ig'%rQ.
0.
C'ang% t'% Balanc%.Kava program $o t'at it compar%$ #our c'%c4ing account
0alanc% an" #our $aving$ account 0alanc% to l%$$ t'an O%ro. !( 0ot' $tat%m%nt$
ar% tru%6 t'%n "i$pla# t'% m%$$ag% PBot' account$ in t'% r%"Q. !( t'% (ir$t 0alanc%
i$ l%$$ t'an t'% $%con" 0alanc%6 an" t'% (ir$t 0alanc% i$ gr%at%r t'an or %Mual to
O%ro6 t'%n "i$pla# t'% m%$$ag% PBot' account$ in t'% 0lac4Q.
B
Ao"i(# t'% (olloEing ,mplo#%% cla$$ $o t'at t'% con$tructor r%Muir%$ t'% u$%r to %nt%r
t'% %mplo#%% num0%r (rom t'% 4%#0oar". &'% %mplo#%% num0%r $'oul" 0% t'r%%
"igit$. R'%n #ou ar% (ini$'%"6 compil% t'% cla$$ a$ ,mplo#%%.Kava. Rrit% a program
nam%" !nt%ractiv%,mplo#%% t'at in$tantiat%$ an ,mplo#%% o0K%ct an" u$%$ t'%
$'oECompan#!<)- m%t'o". Compil% an" t%$t t'i$ program.
pu0lic cla$$ ,mplo#%%
W
$tatic privat% int CDAPFJ;X!< Y 12.G+N
privat% int %mpJumN
privat% "ou0l% %mpCalar#N
,mplo#%%)int num-
ZZ Con$tructor r%Muiring %mplo#%% num0%r
W
%mpJum Y numN
[
pu0lic voi" $'oECompan#!<)-
W
C#$t%m.out.println)\Ror4%r \ ] %mpJum
] \ 'a$ compan# !< \ ] CDAPFJ;X!<N
[
[
Special Operators, the switch Statement, and
Precedence
1
Rrit% a program t'at a$4$ a u$%r to input an initial. <i$pla# t'% (ull nam% o( an
%mplo#%% E'o matc'%$ t'% initialS F i$ Frman"o6 B i$ Bruno6 an" f i$ fac'ar#. Fll
11
ot'%r %ntri%$ $'oul" cau$% a PJo $uc' %mplo#%%Q m%$$ag% to "i$pla#. &'% cla$$
nam% i$ Pic4,mplo#%%.
2
Rrit% a program t'at $tor%$ an !g $cor%. !( t'% $cor% i$ a num0%r l%$$ t'an L or
gr%at%r t'an 2LL6 i$$u% an %rror m%$$ag%N ot'%rEi$%6 i$$u% an Pa0ov% av%rag%Q6
Pav%rag%Q6 or P0%loE av%rag%Q m%$$ag% (or $cor%$ ov%r6 at6 or un"%r 1LL6
r%$p%ctiv%l#. &'% cla$$ nam% i$ !g.
.
Rrit% a program (or a coll%g%^$ a"mi$$ion$ o((ic%. Cr%at% varia0l%$ t'at $tor% a
num%ric 'ig' $c'ool gra"% point av%rag% )(or %Vampl%6 ..2- an" an a"mi$$ion t%$t
$cor%. Print t'% m%$$ag% PFcc%ptQ i( t'% $tu"%nt 'a$ an# o( t'% (olloEingS
e F gra"% point av%rag% o( ..U or a0ov% an" an a"mi$$ion t%$t $cor% o( at l%a$t UL
e F gra"% point av%rag% o( ..L or a0ov% an" an a"mi$$ion t%$t $cor% o( at l%a$t HL
e F gra"% point av%rag% o( 2.U or a0ov% an" an a"mi$$ion t%$t $cor% o( at l%a$t BL
e F gra"% point av%rag% o( 2.L or a0ov% an" an a"mi$$ion t%$t $cor% o( at l%a$t ?L
!( t'% $tu"%nt "o%$ not m%%t an# o( t'% Muali(ication$6 print P/%K%ctQ. &'% cla$$ nam%
i$ F"mi$$ion$2.
G
Rrit% a program t'at $tor%$ an %mplo#%%^$ 'ourl# pa# rat% an" 'our$ Eor4%".
Comput% gro$$ pa# )'our$ tim%$ rat%-6 Eit''ol"ing taV6 an" n%t pa# )gro$$ pa# minu$
Eit''ol"ing taV-. Rit''ol"ing taV i$ comput%" a$ a p%rc%ntag% o( gro$$ pa# 0a$%" on
t'% (olloEingS
_ro$$ Pa#
Rit''ol"ing P%rc%ntag%
L to .LL.LL
1L
.LL.L1 to GLL.LL
12
GLL.L1 to +LL.LL
1+
+LL.L1 an" ov%r
2L
&'% cla$$ nam% i$ Pa#roll2.
+
Rrit% a program t'at r%comm%n"$ a p%t (or a u$%r 0a$%" on t'% u$%r^$ li(%$t#l%.
Prompt t'% u$%r to %nt%r E'%t'%r '% or $'% liv%$ in an apartm%nt6 'ou$%6 or "ormitor#
)F6 `6 or <- an" t'% num0%r o( 'our$ t'% u$%r i$ 'om% "uring t'% av%rag% "a#. &'%
u$%r Eill $%l%ct an 'our cat%gor# (rom a m%nuS F- 1B or mor%N B- 1L to 1HN C- B to ?N
<- U to HN or ,- L to +. Print #our r%comm%n"ation 0a$%" on t'% (olloEingS
/%$i"%nc%
` our$ `om%
/%comm%n"ation
12
`ou$%
1B or mor%
Pot 0%lli%" pig
`ou$%
B t'roug' 1H
<og
`ou$%
= %$$ t'an B
Cna4%
Fpartm%nt
1L or mor%
Cat
Fpartm%nt * %E%r t'an 1L `am$t%r
<ormitor#
U or mor%
*i$'
<ormitor#
*%E%r t'an U
Fnt (arm
&'% cla$$ nam% i$ P%tF"vic%.
U
Rrit% a program nam%" Ci0ling$.Kava t'at "%clar%$ tEo int$ nam%"
m#Jum0%rD(Ci0ling$ an" #ourJum0%rD(Ci0ling$. <i$pla# an appropriat% m%$$ag% to
in"icat% E'%t'%r #our (ri%n" 'a$ mor%6 (%E%r6 or t'% $am% num0%r o( $i0ling$ a$ #ou.
<i$pla# t'% num0%r o( $i0ling$ E'%t'%r t'% i( $tat%m%nt i$ tru% or not.
H
Rrit% a program nam%" Cr%"it$.Kava t'at compar%$ t'% num0%r o( coll%g% cr%"it$ #ou
'av% %arn%" Eit' t'% num0%r o( coll%g% cr%"it$ %arn%" 0# a cla$$mat% or (ri%n".
<i$pla# an appropriat% m%$$ag% to in"icat% E'%t'%r #our cla$$mat% 'a$ %arn%"
mor%6 (%E%r6 or t'% $am% num0%r o( cr%"it$ a$ #ou. <i$pla# t'% num0%r o( coll%g%
cr%"it$ E'%t'%r t'% i( $tat%m%nt i$ tru% or not.
B
Rrit% a program nam%" Ctor%.Kava t'at "i$pla#$ a m%nu o( t'r%% it%m$ in a $tor%6 Eit' a
pric% (or %ac' it%m. !nclu"% c'aract%r$ a6 06 an" c $o t'% u$%r can $%l%ct a m%nu it%m.
Prompt t'% u$%r to c'oo$% an it%m u$ing t'% c'aract%r t'at corr%$pon"$ to t'% it%m.
F(t%r t'% u$%r ma4%$ t'% (ir$t $%l%ction6 $'oE a prompt to a$4 i( anot'%r $%l%ction Eill
0% ma"%. &'% u$%r $'oul" r%$pon" ; or J to t'i$ prompt )(or #%$ or no-. !( t'% u$%r
t#p%$ J6 "i$pla# t'% co$t o( t'% it%m. !( t'% u$%r t#p%$ ;6 alloE t'% u$%r to $%l%ct
anot'%r it%m an" t'%n "i$pla# t'% total co$t o( t'% tEo it%m$. @$% t'% $Eitc'
$tat%m%nt to c'%c4 t'% m%nu $%l%ction.
1.
Looping and Shortcut Arithmetic
1
Rrit% a program t'at a$4$ a u$%r to t#p% F6 B6 C6 or g. R'%n t'% u$%r t#p%$ g6 t'%
program %n"$. R'%n t'% u$%r t#p%$ F6 B6 or C6 t'% program "i$pla#$ t'% m%$$ag%
P_oo" Ko0hQ an" t'%n a$4$ (or anot'%r input. R'%n t'% u$%r t#p%$ an#t'ing %l$%6 i$$u%
an %rror m%$$ag% an" t'%n a$4 (or anot'%r input. &'% cla$$ nam% i$ FBC!nput.
2
Rrit% a program t'at $'oE$ t'% $um o( 1 to n (or %v%r# n (rom 1 to +L. &'at i$6 t'%
program print$ 16 . )t'% $um o( 1 an" 2-6 U )t'% $um o( 16 26 an" .-6 an" $o on. &'%
cla$$ nam% i$ ,v%r#Cum.
.
Rrit% a program t'at print$ %v%r# p%r(%ct num0%r (rom 1 t'roug' 1LLL. F num0%r i$
p%r(%ct i( it %Mual$ t'% $um o( all t'% num0%r$ t'at "ivi"% %v%nl# into it. *or %Vampl%6 U
i$ p%r(%ct 0%cau$% 16 26 an" . "ivi"% %v%nl# into it an" t'%ir $um i$ U. &'% cla$$ nam%
i$ P%r(%ct.
G
Rrit% a program nam%" !nv%$tm%nt.Kava t'at calculat%$ t'% amount o( mon%# %arn%"
on an inv%$tm%nt t'at inclu"%$ 12 p%rc%nt int%r%$t. Prompt t'% u$%r to c'oo$% t'%
inv%$tm%nt amount (rom on% m%nu an" t'% num0%r o( #%ar$ (or t'% inv%$tm%nt (rom a
$%con" m%nu. <i$pla# t'% total amount )0alanc%- (or %ac' #%ar o( t'% inv%$tm%nt.
@$% a loop in$truction to calculat% t'% 0alanc% (or %ac' #%ar. @$% t'% (ormula amount
Y inv%$tm%nt i )1 ] int%r%$t- rai$%" to a poE%r %Mual to t'% #%ar to calculat% t'%
0alanc%.
+. Rrit% a program nam%" guiO.Kava t'at cr%at%$ a MuiO t'at contain$ Mu%$tion$ a0out a
'o00#6 popular mu$ic6 a$tronom#6 or an# ot'%r p%r$onal int%r%$t. F(t%r t'% u$%r
$%l%ct$ a topic6 "i$pla# a $%ri%$ o( Mu%$tion$. &'% u$%r $'oul" an$E%r t'% Mu%$tion$
Eit' on% c'aract%r (or multipl% c'oic%6 tru%Z(al$%6 or #%$Zno. !( t'% u$%r r%$pon"$ to a
Mu%$tion corr%ctl#6 "i$pla# an appropriat% m%$$ag%. !( t'% u$%r r%$pon"$ to a
Mu%$tion incorr%ctl#6 "i$pla# an appropriat% r%$pon$% an" t'% corr%ct an$E%r. Ft t'%
%n" o( t'% MuiO6 "i$pla# t'% num0%r o( corr%ct an$E%r$.
U
Rrit% a program nam%" Curv%#.Kava t'at "i$pla#$ a $%ri%$ o( $urv%# Mu%$tion$6 Eit'
on%c'aract%r an$E%r$. Ft t'% %n" o( t'% $urv%#6 a$4 t'% u$%r i( '% or $'% Eant$ to
%nt%r anot'%r $%t o( r%$pon$%$. !( t'% u$%r r%$pon"$ no6 t'%n "i$pla# t'% r%$ult$ o( t'%
$urv%# (or %ac' Mu%$tion. ,nt%r $%v%ral $%t$ o( r%$pon$%$ to t%$t t'% program.
1G
Array
1
a.
Cr%at% a cla$$ nam%" &aVpa#%r. <ata (i%l"$ (or &aVpa#%r$ inclu"% Cocial C%curit#
num0%r )u$% an int (or t'% t#p%6 an" "o not u$% "a$'%$ Eit'in t'% Cocial C%curit#
num0%r- an" #%arl# gro$$ incom%. A%t'o"$ inclu"% a con$tructor t'at r%Muir%$
valu%$ (or 0ot' "ata (i%l"$6 an" tEo g%t m%t'o"$ t'at r%turn %ac' o( t'% "ata (i%l"
valu%$. Rrit% a program t'at "%clar%$ an arra# o( 1L &aVpa#%r o0K%ct$. C%t %ac'
Cocial C%curit# num0%r to ????????? an" %ac' gro$$ incom% to O%ro. <i$pla# t'%
1L &aVpa#%r o0K%ct$.
0.
Ao"i(# #our program $o %ac' &aVpa#%r 'a$ a $ucc%$$iv% Cocial C%curit# num0%r
(rom 1 t'roug' 1L6 an" gro$$ incom%$ t'at rang% (rom d1L6LLL to d1LL6LLL6
incr%a$ing 0# d1L6LLL (or %ac' $ucc%$$iv% &aVpa#%r.
2
a.
Rrit% a program t'at prompt$ a pro(%$$or to input gra"%$ (or (iv% "i((%r%nt cour$%$
(or 1L $tu"%nt$. Prompt t'% pro(%$$or to %nt%r on% gra"% at a tim% u$ing t'% prompt
P,nt%r gra"%$ (or $tu"%nt j1Q an" P,nt%r gra"% j1Q. >%ri(# t'at t'% pro(%$$or %nt%r$
onl# F6 B6 C6 <6 or *. @$% varia0l%$ (or t'% $tu"%nt num0%r$ )1 t'roug' 1L- an"
gra"% num0%r$ )1 t'roug' +-. &'% cla$$ nam% i$ _ra"%Point.
0.
Ao"i(# t'% _ra"%Point program $o t'at it calculat%$ t'% gra"% point av%rag% )_PF-
(or %ac' $tu"%nt. F $tu"%nt r%c%iv%$ (our gra"% point$ (or an F6 t'r%% gra"% point$
(or a B6 tEo gra"% point$ (or a C6 on% gra"% point (or a <6 an" O%ro gra"% point$ (or
an *. Ctor% t'% gra"%$ an" point$ in parall%l arra#$. C%arc' t'% arra#$ to "%t%rmin%
t'% point$ (or t'% gra"%. Ctor% t'% _PF (or %ac' $tu"%nt in anot'%r arra#. )`intS
Cop# t'% _PF (or %ac' $tu"%nt to a "i((%r%nt arra# 0# initialiOing t'% n%E arra# Eit'
_PF$ (rom t'% ot'%r arra#.-
c. <i$pla# t'% _PF $cor%$ (rom %ac' o( t'% tEo _PF arra#$ to v%ri(# t'at t'% _PF$
E%r% copi%" corr%ctl#. !"%nti(# E'ic' arra# t'% $cor%$ ar% (rom.
.
a.
Rrit% a program t'at "i$pla#$ a multipl% c'oic% MuiO o( 1L Mu%$tion$ Eit' topic$
r%lat%" to #our (avorit% 'o00#. ,ac' Mu%$tion 'a$ on% corr%ct an$E%r an" t'r%%
po$$i0l% an$E%r$. >%ri(# t'at t'% u$%r %nt%r$ onl# F6 B6 or C a$ t'% an$E%r. Ctor%
t'% corr%ct an$E%r$ in an arra#. Ctor% t'% u$%r^$ an$E%r$ in a $%con" arra#. !( t'%
u$%r r%$pon"$ to a Mu%$tion corr%ctl#6 "i$pla# PCorr%cthQN ot'%rEi$% "i$pla# P&'%
corr%ct an$E%r i$Q an" t'% l%tt%r o( t'% corr%ct an$E%r. <%t%rmin% E'at to "i$pla# 0#
comparing t'% r%$pon$% to t'% arra# o( corr%ct an$E%r$. &'% cla$$ nam% i$ guiO.
0. Ao"i(# #our guiO cla$$ $o t'at it "i$pla#$ t'% num0%r o( corr%ct an$E%r$ a(t%r t'%
u$%r an$E%r$ 1L Mu%$tion$. <%t%rmin% t'% $cor% 0# comparing t'% tEo arra#$.
1+
G
a.
Rrit% a program t'at l%t$ t'% u$%r %nt%r num0%r$ )1 t'roug' ?- on% at a tim%6 an"
t'%n print$ t'% num0%r$ t'at t'% u$%r %nt%r%". FlloE t'% u$%r to %nt%r up to 1L
num0%r$. !( t'% u$%r tri%$ to %nt%r an 11t' num0%r6 "i$pla# a m%$$ag% t'at no mor%
num0%r$ can 0% %nt%r%". Ctor% t'% num0%r$ in an arra#. >%ri(# t'at invali"
c'aract%r$ ar% not %nt%r%". &'% cla$$ nam% i$ ,nt%rJum0%r$.
0.
C'ang% t'% ,nt%rJum0%r$ program $o t'at it l%t$ t'% u$%r "%l%t% or mo"i(# a
num0%r. !nclu"% a m%nu t'at $'oE$ t'% option$ to %nt%r6 r%mov%6 mo"i(#6 or "i$pla#
a num0%r6 or Muit t'% program. >%ri(# t'at a corr%ct option i$ %nt%r%". R'%n t'%
u$%r c'oo$%$ t'% r%mov% option6 prompt t'% u$%r to $p%ci(# E'ic' num0%r to
r%mov%. >%ri(# t'at t'% u$%r %nt%r$ a vali" num0%r )1 t'roug' ?-6 an" t'%n c'ang%
t'at num0%r in t'% arra# to L.
c.
C'ang% t'% ,nt%rJum0%r$ program $o t'at E'%n t'% u$%r c'oo$%$ t'% mo"i(#
option6 t'% program prompt$ t'% u$%r to $p%ci(# E'ic' num0%r to mo"i(#. >%ri(# t'at
t'% u$%r %nt%r$ a vali" num0%r )1 t'roug' ?-6 a$4 (or t'% n%E num0%r6 v%ri(# t'at t'%
u$%r %nt%r$ a vali" num0%r6 an" t'%n c'ang% t'% num0%r in t'% arra#.
+
a.
Cr%at% a cla$$ (or $%rvic%$ o((%r%" 0# a 'air $t#ling $alon. <ata (i%l"$ inclu"% a
Ctring to 'ol" t'% $%rvic% "%$cription )(or %Vampl%6 PCutQ6 PC'ampooQ6 or
PAanicur%Q-6 a "ou0l% to 'ol" t'% pric%6 an" an int%g%r to 'ol" t'% av%rag% minut%$
it ta4%$ to p%r(orm t'% $%rvic%. &'% cla$$ nam% i$ `airCalon. !nclu"% a con$tructor
t'at r%Muir%$ argum%nt$ (or all t'r%% "ata (i%l"$ an" t'r%% g%t m%t'o"$ t'at %ac'
r%turn on% o( t'% "ata (i%l"^$ valu%$.
0.
Rrit% a program nam%" CortCalon t'at contain$ an arra# to 'ol" $iV `airCalon
o0K%ct$ an" (ill it Eit' "ata. !nclu"% a m%t'o" to $ort t'% arra# in a$c%n"ing or"%r 0#
pric% o( $%rvic%. Call t'% m%t'o" an" "i$pla# t'% r%$ult$.
c.
F"" a m%t'o" to t'% CortCalon program t'at $ort$ t'% `airCalon o0K%ct$ in
"%$c%n"ing or"%r 0# tim% to p%r(orm t'% $%rvic%. Call t'% m%t'o" an" "i$pla# t'%
r%$ult$.
". F"" a m%t'o" to t'% CortCalon program t'at $ort$ t'% `airCalon o0K%ct$ in
alp'a0%tical or"%r 0# $%rvic% "%$cription. Call t'% m%t'o" an" "i$pla# t'% r%$ult$.
%.
F"" a prompt to t'% CortCalon program giving t'% u$%r t'r%% c'oic%$S $ort 0#
"%$cription6 pric%6 or tim%. <%p%n"ing on t'% u$%r^$ input6 call on% o( t'% t'r%% $ort
m%t'o"$ an" "i$pla# t'% r%$ult$.
U. Cr%at% a cla$$ t'at 'ol"$ t'r%% initialiO%" CtringBu((%r o0K%ct$S #our (ir$t nam%6 mi""l%
nam%6 an" la$t nam%. Cr%at% t'r%% n%E CtringBu((%r o0K%ct$ a$ (olloE$S
1U
e Fn o0K%ct nam%" ,ntir%Jam% t'at 'ol"$ #our t'r%% nam%$6 $%parat%" 0# $pac%$
e Fn o0K%ct nam%" =a$t*ir$t t'at 'ol"$ #our la$t nam%6 a comma6 a $pac%6 an" #our
(ir$t nam%6 in t'at or"%r
e Fn o0K%ct nam%" Cignatur% t'at 'ol"$ #our (ir$t nam%6 a $pac%6 #our mi""l% initial
)not t'% %ntir% nam%-6 a p%rio"6 a $pac%6 an" #our la$t nam%
<i$pla# all t'r%% o0K%ct$.
H
Rrit% a program t'at alloE$ t'% u$%r to %nt%r a cour$% !< num0%r an" t'%n "i$pla#$
t'% cour$% nam% )$uc' a$ PC!C 11LQ- an" t'% "a# o( t'% E%%4 an" tim% t'at t'%
cour$% i$ '%l" )$uc' a$ P&' .S.LQ-. Ctor% t'% cour$% nam% an" "a#Ztim% in a
tEo"im%n$ional
arra#. &'% cla$$ nam% i$ Cc'%"ul%.
B
Rrit% a program t'at $tor%$ an arra# o( vi"%o titl%$ )$uc' a$ P&ru% _ritQ- an" t'%ir
corr%$pon"ing !< num0%r$ in inv%ntor# )$uc' a$ P1G+Q-. <i$pla# t'% li$t 0%(or% it i$
$ort%"6 an" t'%n "i$pla# a li$t $ort%" 0# inv%ntor# !< num0%r. @$% tEo $ingl%"im%n$ional
arra#$kon% (or t'% titl%$ an" on% (or t'% $cor%$. &'% cla$$ nam% i$
>i"%o.
?
Rrit% a program t'at $tor%$ t'% nam%6 titl%6 an" 'ourl# Eag% o( p%opl% %mplo#%" 0# a
groc%r# $tor%. &'% "ata ar%S Dlli% /%gan6 manag%r6 d1BZ'ourN Rilliam C'%rman6
a$$i$tant manag%r6 d1UZ'ourN Aaur%%n Aoon%#6 pro"uc% manag%r6 d1+Z'ourN Aart#
C'ari46 0a4%r# manag%r6 d1+.2+Z'ourN an" Aarc%lla /il%#6 ca$'i%r manag%r6
d1.Z'our. =i$t t'% %mplo#%% nam% an" Ko0 titl% (or %mplo#%%$ E'o %arn mor% t'an
d1+ p%r 'our. Ctor% t'% nam%$ an" titl%$ (or %ac' %mplo#%% in a tEo"im%n$ional
arra#6 an" $tor% t'% rat% in a $ingl%"im%n$ional arra#. &'% cla$$ nam% i$ /at%.
String
1
Rrit% a program t'at $tor%$ voE%l$ )a6 %6 i6 o6 an" u- in an arra#. F$4 t'% u$%r to %nt%r
a c'aract%r. &'%n t'% program $'oul" in"icat% E'%t'%r t'% %nt%r%" c'aract%r i$ a
voE%l.
2
Ctor% GL c'aract%r$ in an arra#6 $uc' a$ 12.Gldjm@`_*... Rrit% a program t'at
pro"uc%$ a count o( 'oE man# o( t'% c'aract%r$ ar% l%tt%r$ in t'% ,ngli$' alp'a0%t6
an" 'oE man# o( t'% c'aract%r$ ar% not l%tt%r$.
1H
.
Ctor% 2L int%g%r %mplo#%% !< num0%r$ in an int%g%r arra#6 an" 2L corr%$pon"ing
%mplo#%% la$t nam%$ in a Ctring arra#. R'%n a u$%r input$ an !< num0%r6 print t'%
appropriat% la$t nam%.
G
Cr%at% an arra# o( Ctring$ containing t'% "a#$ o( t'% E%%4 )PCun"a#Q t'roug'
PCatur"a#Q-. /%vi%E t'% u$% o( t'% <at% cla$$ in C'apt%r .. &'% <at% cla$$ contain$ a
m%t'o" g%t<a#)- t'at r%turn$ an int%g%r valu% O%ro t'roug' $iV t'at r%pr%$%nt$
Cun"a# t'roug' Catur"a#. Rrit% a program in E'ic' #ou cr%at% a <at% o0K%ct6 a$$ign
it a valu%6 an" t'%n print a "a# t'at corr%$pon"$ to t'% <at%.
+
Cr%at% an arra# o( Ctring$6 %ac' containing on% o( t'% top 1L r%a$on$ t'at #ou li4%
Java. Prompt a u$%r to %nt%r a num0%r6 conv%rt t'% num0%r to an int%g%r6 an" t'%n
u$% t'% int%g%r to print on% o( t'% r%a$on$ (or t'% u$%r.
U
Cr%at% an arra# o( (iv% Ctring$ containing t'% (ir$t nam%$ o( p%opl% in #our (amil#.
Rrit% a program t'at count$ an" "i$pla#$ t'% num0%r o( voE%l$ in t'% Ctring$ t'at #ou
%nt%r%"6 Eit'out r%gar" to ca$% )upp%rca$% v%r$u$ loE%rca$% l%tt%r$-. &'% cla$$
nam% i$ >oE%l$.
H
Rrit% a program t'at l%t$ t'% u$%r %nt%r a $tu"%nt !< num0%r Eit' nin% num0%r$ an"
t'%n "i$pla#$ t'% $tu"%nt^$ (ir$t nam% an" gra"% point av%rag%. &'% cla$$ nam% i$
Ctu"%nt!".
B
Rrit% a program t'at c'ang%$ t'% p'on% num0%r (or a p%r$on in a p'on% "ir%ctor#
0a$%" on t'% p%r$on^$ !< num0%r. &'% u$%r $'oul" 0% a0l% to %nt%r an !< num0%r )Eit'
nin% "igit$- an" t'%n c'ang% t'% p'on% num0%r (or t'at p%r$on. &o v%ri(# t'at t'%
c'ang% Ea$ ma"% corr%ctl#6 "i$pla# t'% p%r$on^$ nam% an" n%E p'on% num0%r. &'%
cla$$ nam% i$ P'on%Jum0%r.
Inheritance Polymorphism
?.1 )&'% Trianle cla$$- <%$ign a cla$$ nam%" Trianle t'at %Vt%n"$
.eo*etricOb/ect. &'% cla$$ contain$S
1B
&'r%% double "ata (i%l"$ nam%" side16 side26 an" side3 Eit' "%(ault valu%$ 1-% to
"%not% t'r%% $i"%$ o( t'% triangl%.
F noarg con$tructor t'at cr%at%$ a "%(ault triangl%.
F con$tructor t'at cr%at%$ a r%ctangl% Eit' t'% $p%ci(i%" side16 side26 an" side3.
&'% acc%$$or m%t'o"$ (or all t'r%% "ata (i%l"$.
F m%t'o" nam%" etArea!" t'at r%turn$ t'% ar%a o( t'i$ triangl%.
F m%t'o" nam%" et)eri*eter!" t'at r%turn$ t'% p%rim%t%r o( t'i$ triangl%.
F m%t'o" nam%" toStrin!" t'at r%turn$ a $tring "%$cription (or t'% triangl%.
*or t'% (ormula to comput% t'% ar%a o( a triangl%6 $%% ,V%rci$% +.1?.
&'% toCtring)- m%t'o" i$ impl%m%nt%" a$ (olloE$S
return "Triangle: side1 = " + side1 + " side2 = " + side2 +
" side3 = " + side3;
<raE t'% @A= "iagram t'at involv%$ t'% cla$$%$ Trianle an" .eo*etricOb/ect.
!mpl%m%nt t'% cla$$. Rrit% a t%$t program t'at cr%at%$ a Trianle o0K%ct Eit' $i"%$ 16
1-56 16 $%t$ color &ello' an" (ill%" true6 an" "i$pla#$ t'% ar%a6 p%rim%t%r6 color6 an"
E'%t'%r (ill%" or not.
?.2 )&'% )erson6 Student6 E*plo&ee6 Facult&6 an" Staff cla$$%$- <%$ign a cla$$
nam%" )erson an" it$ tEo $u0cla$$%$ nam%" Student an" E*plo&ee. Aa4% Facult& an"
Staff $u0cla$$%$ o( E*plo&ee. F p%r$on 'a$ a nam%6 a""r%$$6 p'on% num0%r6 an" %mail
a""r%$$. F $tu"%nt 'a$ a cla$$ $tatu$ )(r%$'man6 $op'omor%6 Kunior6 or $%nior-. <%(in% t'%
$tatu$ a$ a con$tant. Fn %mplo#%% 'a$ an o((ic%6 $alar#6 an" "at%'ir%". <%(in% a cla$$
nam%" M&Date t'at contain$ t'% (i%l"$ &ear6 *ont06 an" da&. F (acult# m%m0%r 'a$ o((ic%
'our$ an" a ran4. F $ta(( m%m0%r 'a$ a titl%. Dv%rri"% t'% toStrin m%t'o" in %ac' cla$$
to "i$pla# t'% cla$$ nam% an" t'% p%r$onn$ nam%.
<raE t'% @A= "iagram (or t'% cla$$%$. !mpl%m%nt t'% cla$$%$. Rrit% a t%$t program t'at
cr%at%$ a )erson6 Student6 E*plo&ee6 Facult&6 an" Staff6 an" invo4%$ t'%ir
toStrin!" m%t'o"$.
?.. )Cu0cla$$%$ o( Fccount- !n ,V%rci$% H..6 t'% Fccount cla$$ Ea$ cr%at%" to mo"%l a
0an4 account. Fn account 'a$ t'% prop%rti%$ account num0%r6 0alanc%6 annual int%r%$t
rat%6 an" "at% cr%at%"6 an" m%t'o"$ to "%po$it an" Eit'"raE. Cr%at% tEo $u0cla$$%$ (or
c'%c4ing an" $aving account$. F c'%c4ing account 'a$ an ov%r"ra(t limit6 0ut a $aving$
account cannot 0% ov%r"raEn.
1?
<raE t'% @A= "iagram (or t'% cla$$%$. !mpl%m%nt t'% cla$$%$. Rrit% a t%$t program t'at
cr%at%$ o0K%ct$ o( Account6 Sa(insAccount6 an" 10ec2inAccount6 an" invo4%$ t'%ir
toStrin!" m%t'o"$.
Exercise 7.3
(The Account class) Design a class named Account that contains:
An int data field named id for the account (default 0).
A double data field named balance for the account (default 0).
A double data field named annualInterestRate that stores the current interest rate
(default 0).
A Date data field named dateCreated that stores the date when the account was
created.
A no-arg constructor that creates a default account.
The accessor and mutator methods for id, balance, and annualInterestRate.
The accessor method for dateCreated.
A method named getMonthlyInterestRate() that returns the monthly interest rate.
A method named withDraw that withdraws a specified amount from the account.
A method named deposit that deposits a specified amount to the account.
Draw the UM diagram for the class. !mplement the class. "rite a test program that
creates an Account o#$ect with an account !D of 1122, a #alance of 20000, and an
annual interest rate of 4.!. Use the withdraw method to withdraw "200, use the
deposit method to deposit "#000, and print the #alance, the monthly interest, and the
date when this account was created.
?.G )!mpl%m%nting A#Ctac4 u$ing in'%ritanc%- !n =i$ting ?.B6 A#Ctac4 i$ impl%m%nt%"
u$ing compo$ition. Cr%at% a n%E $tac4 cla$$ t'at %Vt%n"$ A#Frra#=i$t.
<raE t'% @A= "iagram (or t'% cla$$%$. !mpl%m%nt M&Stac2.
Listing 9.8. MyStack.java
1 public class MyStack {
2 private java.util.ArrayList list = new java.util.ArrayList();
3
2L
public b!!lean is"#pty() {
$ return list.is"#pty();
% &
'
( public int )etSi*e() {
+ return list.si*e();
1, &
11
12 public -bject peek() {
13 return list.)et()etSi*e() . 1);
1 &
1$
1% public -bject p!p() {
1' -bject ! = list.)et()etSi*e() . 1);
1( list.re#!ve()etSi*e() . 1);
1+ return !;
2, &
21
22 public -bject pus/(-bject !) {
23 list.a00(!);
2 return !;
2$ &
2%
2' public int searc/(-bject !) {
2( return list.last1n0e2-3(!);
2+ &
3,
31 455 -verri0e t/e t!Strin) in t/e -bject class 54
32 public Strin) t!Strin)() {
33 return 6stack7 6 8 list.t!Strin)();
3 &
3$ &
?.+ )&'% Cour$% cla$$- /%Erit% t'% Cour$% cla$$ in =i$ting H.11. @$% an Frra#=i$t to
r%plac% an arra# to $tor% $tu"%nt$.
Listing 7.11. Course.java
1 public class 9!urse {
2 private Strin) na#e;
3 private Strin):; stu0ents = new Strin):1,,;
private int nu#ber-3Stu0ents;
$
% public 9!urse(Strin) na#e) {
' t/is.na#e = na#e;
( &
+
1, public v!i0 a00Stu0ent(Strin) stu0ent) {
11 stu0ents:nu#ber-3Stu0ents; = stu0ent;
12 nu#ber-3Stu0ents88;
13 &
1
1$ public Strin):; )etStu0ents() {
1% return stu0ents;
21
1' &
1(
1+ public int )et<u#ber-3Stu0ents() {
2, return nu#ber-3Stu0ents;
21 &
22
23 public Strin) )et<a#e() {
2 return na#e;
2$ &
2% &
?.U )@$ing Arra&List- Rrit% a program t'at cr%at%$ an Arra&List6 a""$ a Loan o0K%ct6 a
Date o0K%ct6 a $tring6 a 3Fra*e o0K%ct6 an" a 1ircle o0K%ct to t'% li$t6 an" u$%$ a loop to
"i$pla# all t'% %l%m%nt$ in t'% li$t 0# invo4ing t'% o0K%ctn$ toStrin!" m%t'o".
A!stract Class Inter"ace
1L.1 ),na0ling .eo*etricOb/ect compara0l%- Ao"i(# t'% .eo*etricOb/ect cla$$ to
impl%m%nt t'% 1o*parable int%r(ac%6 an" "%(in% a $tatic *a, m%t'o" in t'%
.eo*etricOb/ect cla$$ (or (in"ing t'% larg%r o( tEo .eo*etricOb/ect o0K%ct$. <raE
t'% @A= "iagram an" impl%m%nt t'% n%E .eo*etricOb/ect cla$$. Rrit% a t%$t program
t'at u$%$ t'% *a, m%t'o" to (in" t'% larg%r o( tEo circl%$ an" t'% larg%r o( tEo r%ctangl%$.
1L.2 )&'% 1o*parable4ectanle cla$$- Cr%at% a cla$$ nam%" 1o*parable4ectanle
t'at %Vt%n"$ 4ectanle an" impl%m%nt$ 1o*parable. <raE t'% @A= "iagram an"
impl%m%nt t'% co*pareTo m%t'o" to compar% t'% r%ctangl%$ on t'% 0a$i$ o( ar%a. Rrit% a
t%$t cla$$ to (in" t'% larg%r o( tEo in$tanc%$ o( 1o*parable4ectanle o0K%ct$.
1L.. )&'% 1olorable int%r(ac%- <%$ign an int%r(ac% nam%" 1olorable Eit' a voi"
m%t'o" nam%" 0o'To1olor!". ,v%r# cla$$ o( a colora0l% o0K%ct mu$t impl%m%nt t'%
1olorable int%r(ac%. <%$ign a cla$$ nam%" S+uare t'at %Vt%n"$ .eo*etricOb/ect an"
impl%m%nt$ 1olorable. !mpl%m%nt 0o'To1olor to "i$pla# a m%$$ag% on 'oE to color
t'% $Muar%.

<raE a @A= "iagram t'at involv%$ 1olorable6 S+uare6 an" .eo*etricOb/ect. Rrit% a
t%$t program t'at cr%at%$ an arra# o( (iv% .eo*etricOb/ects. *or %ac' o0K%ct in t'%
arra#6 invo4% it$ 0o'To1olor m%t'o" i( it i$ colora0l%.
1L.G )/%vi$ing t'% `ou$% cla$$- /%Erit% t'% `ou$% cla$$ in =i$ting 1L.G to p%r(orm a
"%%p cop#
on t'% E'%nBuilt (i%l".
22
1L.+ ),na0ling Circl% compara0l%- /%Erit% t'% Circl% cla$$ in =i$ting ?.2 to %Vt%n"
_%om%tricD0K%ct an" impl%m%nt t'% Compara0l% int%r(ac%. Dv%rri"% t'% %Mual$ an"
'a$'Co"% m%t'o"$ in t'% D0K%ct cla$$. &Eo Circl% o0K%ct$ ar% %Mual i( t'%ir ra"ii ar% t'%
$am%. <raE t'% @A= "iagram t'at involv%$ Circl%6 _%om%tricD0K%ct6 an" Compara0l%.
1L.U ),na0ling /%ctangl% compara0l%- /%Erit% t'% /%ctangl% cla$$ in =i$ting ?.. to
%Vt%n"
_%om%tricD0K%ct an" impl%m%nt t'% Compara0l% int%r(ac%. Dv%rri"% t'% %Mual$ an"
'a$'Co"% m%t'o"$ in t'% D0K%ct cla$$. &Eo /%ctangl% o0K%ct$ ar% %Mual i( t'%ir ar%a$ ar%
t'% $am%. <raE t'% @A= "iagram t'at involv%$ /%ctangl%6 _%om%tricD0K%ct6 an"
Compara0l%.
1L.H )&'% Octaon cla$$- Rrit% a cla$$ nam%" Octaon t'at %Vt%n"$ .eo*etricOb/ect
an" impl%m%nt$ t'% 1o*parable an" 1loneable int%r(ac%$. F$$um% t'at all %ig't $i"%$ o(
t'% octagon ar% o( %Mual $iO%. &'% ar%a can 0% comput%" u$ing t'% (olloEing (ormulaS
<raE t'% @A= "iagram t'at involv%$ Octaon6 .eo*etricOb/ect6 1o*parable6 an"
1loneable. Rrit% a t%$t program t'at cr%at%$ an Octaon o0K%ct Eit' $i"% valu% + an"
"i$pla#$ it$ ar%a an" p%rim%t%r. Cr%at% a n%E o0K%ct u$ing t'% clone m%t'o" an" compar%
t'% tEo o0K%ct$ u$ing t'% co*pareTo m%t'o".
1L.B )Cumming t'% ar%a$ o( g%om%tric o0K%ct$- Rrit% a m%t'o" t'at $um$ t'% ar%a$ o( all
t'% g%om%tric o0K%ct$ in an arra#. &'% m%t'o" $ignatur% i$S
public static double sumArea(GeometricObject! a"
Rrit% a t%$t program t'at cr%at%$ an arra# o( t'r%% o0K%ct$ )a circl% an" a r%ctangl%- an"
comput%$ t'%ir total ar%a u$ing t'% su*Area m%t'o".
1L.? )*in"ing t'% larg%$t o0K%ct- Rrit% a m%t'o" t'at r%turn$ t'% larg%$t o0K%ct in an arra#
o( o0K%ct$. &'% m%t'o" $ignatur% i$S
public static Object ma#(Object! a"
Fll t'% o0K%ct$ ar% in$tanc%$ o( t'% 1o*parable int%r(ac%. &'% or"%r o( t'% o0K%ct$ in t'%
arra# i$ "%t%rmin%" u$ing t'% co*pareTo m%t'o".
Rrit% a t%$t program t'at cr%at%$ an arra# o( t%n $tring$6 an arra# o( t%n int%g%r$6 an" an
arra# o( t%n "at%$6 an" (in"$ t'% larg%$t $tring6 int%g%r6 an" "at% in t'% arra#$.
1L.1L )<i$pla#ing cal%n"ar$- /%Erit% t'% PrintCal%n"ar cla$$ in =i$ting +.B to "i$pla# a
cal%n"ar (or a $p%ci(i%" mont' u$ing t'% Cal%n"ar an" _r%gorianCal%n"ar cla$$%$.
;our program r%c%iv%$ t'% mont' an" #%ar (rom t'% comman" lin%. *or %Vampl%S
&'i$ "i$pla#$ t'% cal%n"ar $'oEn in *igur% 1L.11.
2.
;ou al$o can run t'% program Eit'out t'% #%ar. !n t'i$ ca$%6 t'% #%ar i$ t'% curr%nt #%ar. !(
#ou run t'% program Eit'out $p%ci(#ing a mont' an" a #%ar6 t'% mont' i$ t'% curr%nt
mont'.
+F+,C
-i"ti&g ./0/ 1ri&tCale&)ar/2ava
1 import ja$a#%s&ing%'Option(ane;
2
3 public class (rint)alendar *
+ ,-- .ain met/od -,
0 public static $oid main(1tring! args" *
2 ,, (rompt t/e user to enter 3ear
4 1tring 3ear1tring = 'Option(ane%s/o&5nput6ialog(
7 "8nter 9ull 3ear (e%g%: 2;;1":"";
<
1; ,, )on$ert string into integer
11 int 3ear = 5nteger%parse5nt(3ear1tring";
12
13 ,, (rompt t/e user to enter mont/
1+ 1tring mont/1tring = 'Option(ane%s/o&5nput6ialog(
10 "8nter mont/ in number bet&een 1 and 12:"";
12
14 ,, )on$ert string into integer
17 int mont/ = 5nteger%parse5nt(mont/1tring";
1<
2; ,, (rint calendar 9or t/e mont/ o9 t/e 3ear
21 print.ont/(3ear: mont/";
22 =
23
2+ ,-- (rint t/e calendar 9or a mont/ in a 3ear -,
20 static $oid print.ont/(int 3ear: int mont/" *
2G
22 ,, (rint t/e /eadings o9 t/e calendar
24 print.ont/Title(3ear: mont/";
27
2< ,, (rint t/e bod3 o9 t/e calendar
3; print.ont/>od3(3ear: mont/";
31 =
32
33 ,-- (rint t/e mont/ title: e%g%: .a3: 1<<< -,
3+ static $oid print.ont/Title(int 3ear: int mont/" *
30 13stem%out%println(" " + get.ont/?ame(mont/"
32 + " " + 3ear";
34 13stem%out%println
("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"";
37 13stem%out%println(" 1un .on Tue Aed T/u Bri 1at"";
3< =
+;
+1 ,-- Get t/e 8nglis/ name 9or t/e mont/ -,
+2 static 1tring get.ont/?ame(int mont/" *
+3 1tring mont/?ame = null;
++ s&itc/ (mont/" *
+0 case 1: mont/?ame = "'anuar3"; breaC;
+2 case 2: mont/?ame = "Bebruar3"; breaC;
+4 case 3: mont/?ame = ".arc/"; breaC;
+7 case +: mont/?ame = "April"; breaC;
+< case 0: mont/?ame = ".a3"; breaC;
0; case 2: mont/?ame = "'une"; breaC;
01 case 4: mont/?ame = "'ul3"; breaC;
02 case 7: mont/?ame = "August"; breaC;
03 case <: mont/?ame = "1eptember"; breaC;
0+ case 1;: mont/?ame = "October"; breaC;
00 case 11: mont/?ame = "?o$ember"; breaC;
02 case 12: mont/?ame = "6ecember";
04 =
07
0< return mont/?ame;
2; =
21
22 ,-- (rint mont/ bod3 -,
23 static $oid print.ont/>od3(int 3ear: int mont/" *
2+ ,, Get start da3 o9 t/e &eeC 9or t/e Drst date in t/e mont/
20 int start6a3 = get1tart6a3(3ear: mont/";
22
24 ,, Get number o9 da3s in t/e mont/
27 int numberO96a3s5n.ont/ = get?umberO96a3s5n.ont/(3ear: mont/" ;
2<
4; ,, (ad space be9ore t/e Drst da3 o9 t/e mont/
41 int i = ;;
42 9or (i = ;; i E start6a3; i++"
43 13stem%out%print(" "";
4+
40 9or (i = 1; i E= numberO96a3s5n.ont/; i++" *
42 i9 (i E 1;"
44 13stem%out%print(" " + i";
2+
47 else
4< 13stem%out%print(" " + i";
7;
71 i9 ((i + start6a3" F 4 == ;"
72 13stem%out%println(";
73 =
7+
70 13stem%out%println(";
72 =
74
77 ,-- Get t/e start da3 o9 t/e Drst da3 in a mont/ -,
7< static int get1tart6a3(int 3ear: int mont/" *
<; ,, Get total number o9 da3s since 1,1,17;;
<1 int start6a317;; = 3;
<2 int total?umberO96a3s = getTotal?umberO96a3s(3ear: mont/";
<3
<+ ,, Geturn t/e start da3
<0 return (total?umberO96a3s + start6a317;;" F 4;
<2 =
<4
<7 ,-- Get t/e total number o9 da3s since 'anuar3 1: 17;; -,
<< static int getTotal?umberO96a3s(int 3ear: int mont/" *
1;; int total = ;;
1;1
1;2 ,, Get t/e total da3s 9rom 17;; to 3ear H 1
1;3 9or (int i = 17;;; i E 3ear; i++"
1;+ i9 (isIeapJear(i""
1;0 total = total + 322;
1;2 else
1;4 total = total + 320;
1;7
1;< ,, Add da3s 9rom 'anuar3 to t/e mont/ prior to t/e calendar mont/
11; 9or (int i = 1; i E mont/; i++"
111 total = total + get?umberO96a3s5n.ont/(3ear: i";
112
113 return total;
11+ =
110
112 ,-- Get t/e number o9 da3s in a mont/ -,
114 static int get?umberO96a3s5n.ont/(int 3ear: int mont/" *
117 i9 (mont/ == 1 KK mont/ == 3 KK mont/ == 0 KK mont/ == 4 KK
11< mont/ == 7 KK mont/ == 1; KK mont/ == 12"
12; return 31;
121
122 i9 (mont/ == + KK mont/ == 2 KK mont/ == < KK mont/ == 11"
123 return 3;;
12+
120 i9 (mont/ == 2" return isIeapJear(3ear" L 2< : 27;
122
124 return ;; ,, 59 mont/ is incorrect
127 =
12<
13; ,-- 6etermine i9 it is a leap 3ear -,
131 static boolean isIeapJear(int 3ear" *
132 return 3ear F +;; == ; KK (3ear F + == ; MM 3ear F 1;; N= ;";
2U
133 =
13+ =


-i"ti&g 3/*/ Circle/2ava
1 pacCage c/apter<;
2
3 public class )ircle e#tends GeometricObject *
+ pri$ate double radius;
0
2 public )ircle(" *
4 =
7
< public )ircle(double radius" *
1; t/is%radius = radius;
11 =
12
13 ,-- Geturn radius -,
1+ public double getGadius(" *
10 return radius;
12 =
14
17 ,-- 1et a ne& radius -,
1< public $oid setGadius(double radius" *
2; t/is%radius = radius;
21 =
22
23 ,-- Geturn area -,
2+ public double getArea(" *
20 return radius - radius - .at/%(5;
22 =
24
27 ,-- Geturn diameter -,
2< public double get6iameter(" *
3; return 2 - radius;
31 =
32
33 ,-- Geturn perimeter -,
3+ public double get(erimeter(" *
30 return 2 - radius - .at/%(5;
32 =
34
37 ,- (rint t/e circle in9o -,
3< public $oid print)ircle(" *
+; 13stem%out%println("T/e circle is created " + get6ate)reated(" +
+1 " and t/e radius is " + radius";
+2 =
+3 =


2H
-i"ti&g 3/3/ +ecta&gle/2ava
1 pacCage c/apter<;
2
3 public class Gectangle e#tends GeometricObject *
+ pri$ate double &idt/;
0 pri$ate double /eig/t;
2
4 public Gectangle(" *
7 =
<
1; public Gectangle(double &idt/: double /eig/t" *
11 t/is%&idt/ = &idt/;
12 t/is%/eig/t = /eig/t;
13 =
1+
10 ,-- Geturn &idt/ -,
12 public double getAidt/(" *
14 return &idt/;
17 =
1<
2; ,-- 1et a ne& &idt/ -,
21 public $oid setAidt/(double &idt/" *
22 t/is%&idt/ = &idt/;
23 =
2+
20 ,-- Geturn /eig/t -,
22 public double getOeig/t(" *
24 return /eig/t;
27 =
2<
3; ,-- 1et a ne& /eig/t -,
31 public $oid setOeig/t(double /eig/t" *
32 t/is%/eig/t = /eig/t;
33 =
3+
30 ,-- Geturn area -,
32 public double getArea(" *
34 return &idt/ - /eig/t;
37 =
3<
+; ,-- Geturn perimeter -,
+1 public double get(erimeter(" *
+2 return 2 - (&idt/ + /eig/t";
+3 =
++ =

2B

You might also like