Data Structures and
s s s
Algorithms in Java, 6e
s s s s
Michael Goodrich,
s s
Roberto Tamassia (All
s s s
Chapters) s
, Chapter
1 Java Primers
Hints and Solutions
s s
Reinforcement
R-1.1) s Hint sUse s the s code s templates s provided s in s the s Simple
s Input s and sOutput ssection.
R-1.2) sHint sYou smay sread sabout scloning sin sSection s3.6.
R-1.2) sSolution sSince, safter sthe sclone, sA[4] sand sB[4] sare sboth spointing
sto sthe ssame sGameEntry sobject, sB[4].score sis snow s550.
R-1.3) sHint sThe smodulus soperator scould sbe suseful shere.
R-1.3) sSolution
public sboolean sisMultiple(long sn, slong sm) s{
return s(n%m s== s0);
}
R-1.4) sHint sUse sbit soperations.
R-1.4) sSolution
public sboolean sisEven(int si) s{
return s (i s & s 1 s == s 0);
}
R-1.5) sHint sThe seasy ssolution suses sa sloop, sbut sthere sis salso sa sformula
sfor sthis, swhich sis sdiscussed sin sChapter s4.
R-1.5) sSolution
public sint ssumToN(int sn) s{
int s total s= s0;
for s(int sj=1; sj s<= sn; sj++)
stotal s+= sj;
return s total;
}
,2 Chapter s1. s Java
sPrimer
R-1.6) sHint sThe seasy sthing sto sdo sis sto swrite sa sloop.
R-1.6) sSolution
public sint ssumOdd(int sn) s{
int s total s= s0;
for s(int sj=1; sj s<= sn; sj s+=
s2) stotal s+= sj;
return s total;
}
R-1.7) sHint sThe seasy sthing sto sdo sis sto swrite sa sloop.
R-1.7) sSolution
public sint ssumSquares(int sn) s{
int s total s= s0;
for s(int sj=1; sj s<= sn; sj++)
stotal s+= sj∗j;
return s total;
}
R-1.8) sHint sYou smight suse sa sswitch sstatement.
R-1.8) sSolution
public sint snumVowels(String stext) s{
int s total s= s0;
for s(int sj=0; sj s< stext.length(); sj++) s{
switch s(text.charAt(j)) s{
case s'a':
case s'A':
case s'e':
case s'E':
case s'i':
case s'I':
case s'o':
case s'O':
case s'u':
case s'U':
stotal s+= s1;
}
}
return s total;
}
R-1.9) sHint sConsider seach scharacter sone sat sa stime.
, 3
R-1.10) sHint sConsider susing sget sand sset smethods sfor saccessing sand
smod- sifying sthe svalues.
R-1.11) s Hint sThe straditional s way s to s do s this s is s to suse s setFoo
s methods, swhere s Foo sis sthe svalue sto sbe smodified.
R-1.11) sSolution
public svoid ssetLimit(int slim) s{
limit s= slim;
}
R-1.12) sHint sUse sa sconditional sstatement.
R-1.12) sSolution
public svoid smakePayment(double samount) s{
if s(amount s> s0)
sbalance s−= samount;
}
R-1.13) sHint sTry sto smake swallet[1] sgo sover sits slimit.
R-1.13) sSolution
for s(int sval=1; sval s<= s58; sval++) s{
swallet[0].charge(3∗val);
swallet[1].charge(2∗val);
swallet[2].charge(val);
}
This schange swill scause swallet[1] sto sattempt sto sgo sover sits slimit.
Creativity
C-1.14) sHint sThe sJava smethod sdoes snot sneed sto sbe spassed sthe svalue sof sn
as san sargument.
C-1.15) sHint sNote sthat sthe sJava sprogram shas sa slot smore ssyntax
srequire- sments.
C-1.16) sHint sCreate san senum stype sof sall soperators, sincluding s=, sand
suse san sarray sof sthese stypes sin sa sswitch sstatement snested sinside sfor-
loops sto stry sall spossibilities.
C-1.17) sHint sNote sthat sat sleast sone sof sthe snumbers sin sthe spair smust
sbe seven.
C-1.17) sSolution