ࡱ> e #bjbj Bidi\di\VVVVVjjj8.j_6!!!_______$ad?_V"!!""?_VVT_C,C,C,"fVV_C,"_C,C,fYp=^`h3')\D_j_0_m\ e* e=^ eV=^!>!,C,"$+"!!!?_?_+<!!!_"""" e!!!!!!!!!> : Computer Programming I Instructor: Greg Shaw COP 2210 Class NotesPRIVATE  Major String Class Methods The length() Method (review) This method takes no arguments and returns an int, the number of characters in the string object for which the method is called. Examples: String word = Basket ; int len = word.length() ; // len gets 6 word = word + ball ; len = word.length() ; // len gets 10 word = "" ; // the empty string (aka: null string) len = word.length() ; // len gets 0 (aint no characters!) Substrings A substring is any contiguous portion of a string. For example, here are some substrings of the string Florida: Flo lori or ida Florid r Florida rid These are not substrings: flo rolF Fo Lori OR The indexOf Method (a Substring Locator) Syntax: string-object.indexOf(expression) where expression is a string or char expression Returns: the starting position of the first occurrence of expression in the string for which it is called Note that the first character of a string occupies position number zero, and not position one Another word for position is index, hence the method name Examples: String magic = "Abracadabra!" ; int pos = magic.indexOf("A") ; // pos gets 0 pos = magic.indexOf("Abra") ; // pos gets 0 pos = magic.indexOf("abra") ; // pos gets 7 pos = magic.indexOf("b") ; // pos gets 1 (note char argument) pos = magic.indexOf(magic) ; // 0 (every string is a substring // of itself) String word = "ada" ; pos = magic.indexOf(word) ; // pos gets 5 pos = word.indexOf(magic) ; // pos gets -1 As shown in the last example, if the argument is not a substring of the object for which indexOf is called, -1 is returned The substring Method (a Substring Builder) Syntax: string-object.substring(start, pastEnd) where start and pastEnd are int expressions, and start = the index of the first character of the substring pastEnd = one greater than the position of the last character Returns: A substring of the object beginning with the character in position start and ending with the character in position pastEnd-1 (i.e. one less than pastEnd) Examples: String magic = "Abracadabra!" ; String sub = magic.substring(0,4) ; // sub gets "Abra" sub = magic.substring(0,1) ; // sub gets "A" sub = magic.substring(4,7) ; // sub gets "cad" sub = magic.substring(0,magic.length()) ; // "Abracadabra!" Note 1: start and pastEnd can be int expressions: int index = 2 ; sub = magic.substring(index, index+3) ; // "rac" (not "raca") Note 2: If start and pastEnd are equal, the empty string is returned: sub = magic.substring(index, index) ; // sub gets "" Note 3: As shown above, the arguments to substring are int expressions, i.e. anything that evaluates to an int. This includes methods that return an int String word = "ada" ; sub = magic.substring(magic.indexOf(word),11) ; Self-check question: What exactly will be assigned to sub? Throwing a StringIndexOutOfBoundsException Review A run-time error is an error that occurs while a program is executing Run-time errors occur when you instruct the computer to do the impossible or the meaningless (e.g. dividing by 0) If a run-time error occurs, the program crashes (i.e. terminates abruptly, does not run to a normal completion) In Java, run-time errors are called exceptions When a exception occurs, we say that it was thrown When calling substring, a StringIndexOutOfBoundsException will be thrown if: start is negative pastEnd is less than start pastEnd is greater than the number of characters in the string (i.e., at least 2 greater than the position of the last character) start is greater than the number of characters in the string (i.e., at least 2 greater than the position of the last character) start is equal to the number of characters in the string (i.e. one greater than the index of the last) and pastEnd is not equal to start. If they are equal, the empty string ("") is returned; otherwise, bye-bye. The toUpperCase and toLowerCase Methods Syntax: string-object.toUpperCase() Returns: an all UPPERCASE version of string-object all lowercase letters will be CAPITALIZED. Other characters will not be affected Example: String cut = "AbcDe57!x" ; String uppercut = cut.toUpperCase() ; // "ABCDE57!X" Syntax: string-object.toLowerCase() Returns: an all lowercase version of string-object all uppercase letters will be decapitated. Other characters will not be affected Example: String daBoom = "AbCDe37X!z" ; String lowerDaBoom = daBoom.toLowerCase() ; // "abcde37x!z" The charAt Method Syntax: string-object.charAt(index) Returns: the character at position index in the object, but as a char, not as a String Note: 1. char is a primitive type (like int and double) that can store single characters only 2. char literals (fka: constants) are enclosed in single quotes char letter = 'X' ; System.out.println(letter + " marks the spot!") ; prints X marks the spot! (without the quotes) String magic = "Abracadabra!" ; char letter = magic.charAt(0) ; // letter gets 'A' letter = magic.charAt( magic.length() - 1 ) ; // letter gets '!' letter = magic.charAt( magic.length() ) ; // exception! Overloaded substring and indexOf Methods Overloaded methods are two or more methods of the same class with the same name but different signatures A methods signature is its parameter list (the number and types of parameters it takes) So, overloaded methods have the same name but different numbers or types of parameters or both Java knows which one is being called by the number and types of the arguments passed when the method is called A. Overloaded substring Method There is an overloaded version of substring that has only one int parameter - the index of the first character of the substring. It returns a substring consisting of all characters from that index to the end of the string String magic = "Abracadabra!" ; String sub = magic.substring(9) ; // sub gets "ra!" sub = magic.substring(0) ; // "Abracadabra!" sub = magic.substring( magic.length()-1 ) ; // "!" B. Overloaded indexOf Method There is an overloaded version of indexOf that has two parameters. The first is the string (or char) to be located and the second is an int that specifies the index at which to begin the search String magic = "Abracadabra!" ; int pos = magic.indexOf("a",4) ; // pos gets 5 Here we begin the search at index 4 (the 5th character), so the first a found is at index 5 (the 6th character). Java does not see the a at index 3. Note that the position returned is always relative to the beginning of the string, no matter where we begin the search Note that none of the methods of the String class modify the string object for which they are called. String objects are immutable. I.e. once created, they may be destroyed but never modified. (More about this later).   ST\]^agm|}~* - ` a q ƲƙƏzzm^mRho\o@CJOJQJhchc@CJOJQJho\o5@CJOJQJho\o5CJOJQJhfCJOJQJho\oCJOJQJhchk] hk]ho\o@CJOJQJaJhk]ho\oCJOJQJaJ ho\o6ho\o!jho\o@OJQJUho\o@OJQJjho\o@OJQJUho\o@OJQJ3_`a|}~  + , F o p  h8p h^h$ h8p h^ha$ h8p  & F $ h8p*$a$*$$*$a$ % & ' 3 4    A B m  h hh^h & F h8p ^`$ h8p h*$^ha$$ h8p *$^a$ h8p h^h $ & ' 3 6 ?    # 8 ? B K X a k m n x ƼươơƝƈyyjơ\\h?ho\o6CJOJQJh?ho\oCJOJQJaJhcho\oCJOJQJaJhcho\o6CJOJQJaJ ho\o6hk]ho\o6CJOJQJho\ohk]@CJOJQJhY@aCJOJQJho\oCJOJQJho\o5CJOJQJho\o5@CJOJQJho\o@CJOJQJhc@CJOJQJ"m n   o vd# h8p 8^8 # h8p # & F h8p 80^8`0gdQ# & F h8p 80^8`0# h8p h^h`$ h8Tp T^T`a$gd? h8p h^h     T X ^ a k n  ! " & ' 8 P Q ~~~~yryry~ hchc hc5 hcho\o hQ5 ho\o5ho\ohT!hch?xhc6 h?xhc h?xhQh?xho\o6 h?xho\oh?xho\oCJhcCJOJQJho\o6CJOJQJhcho\o6CJOJQJho\oCJOJQJh?CJOJQJ, 9 : h i GHuv# & F 8hp 0`0gd# hp 8^8 # hp # h8p 8^8gdT!Q U V i ~  HIuv *7BPR[`elǽDZǬǬǢxjh6}ho\o6CJOJQJho\o6CJOJQJh6}ho\oCJOJQJaJh6}ho\o6CJOJQJaJho\oCJOJQJ ho\o6hk]hh6h ho\oCJho\o h6}ho\o hUcO5hcho\o5 hchchchc5 hc5 hcho\o ho\o5) !RS h8p h^h h8p h^h h8p  & F h8p ^`# 8hp h^hgd6}# 8hp  lqtSX5;DEFGȣ~~pppph<ho\o5CJOJQJh6}ho\oCJOJQJho\o5CJOJQJhT!hT!CJOJQJhT!6CJOJQJhCJOJQJh6}ho\o6>*CJOJQJh6}ho\o6CJOJQJh6}CJOJQJho\o6CJOJQJh6}6CJOJQJho\oCJOJQJ,HI|}D & F h8p 0`0gdkM h8p `^`` h8p `^``$ h8Tp T^T`a$gdGKgmvwz{(ᯥzlah6}5CJOJQJh<h6}5CJOJQJhoh6}CJOJQJaJh6}h6}5CJOJQJh6}h6}6CJOJQJhkMCJOJQJhvCJOJQJhoho5CJOJQJaJhk]CJOJQJh<ho\o5CJOJQJh6}CJOJQJho\o5CJOJQJho\oCJOJQJ"(*-.CDFGHKLNOPRW\chms{ܓmܧ{_hb hb 6CJOJQJh<h<5CJOJQJhb CJOJQJhkMh<6CJOJQJhvCJOJQJh<CJOJQJhkMCJOJQJhohkMCJOJQJaJhoh<CJOJQJaJh<h6}CJOJQJh<h<CJOJQJh6}5CJOJQJh<5CJOJQJ%DGcd~i & F h8p ^`gdb  h8p `^`` & F h8 0`0gdkM h8p `^``gd< & F h8p 0`0gdkM h8p `^``gd< 36<CESY]`cdhvwz{~%Ʒ|ơlh`hhb hb 6hb hoho5CJOJQJaJho\oCJOJQJh6}ho\o5CJOJQJh6}ho\oCJOJQJho\o5CJOJQJhkM5CJOJQJhohkMCJOJQJaJhkMCJOJQJhvCJOJQJhb hb 6CJOJQJhb hb 5CJOJQJhb CJOJQJ!&lN}g$ & F @hp ^`a$$ h8p `^``a$$ h8p h^ha$gd5$ & F h8p a$gdn$ & F h8p a$gd5$ h8p `^``a$ %(6bklmz{ r|}~иtdZho\oCJOJQJhQh556CJOJQJh?xhQ6CJOJQJhQCJOJQJhb CJOJQJh56CJOJQJhnhnCJOJQJhvCJOJQJhnCJOJQJh5hn6CJOJQJhn6CJOJQJhnh5CJOJQJh5h56CJOJQJh5CJOJQJ',-.59@AE0127¸¸«܍rrrhYKh4}hQ6CJOJQJh4}h4}CJOJQJaJh4}CJOJQJhnhQCJOJQJhnhQ6CJOJQJhQho\oCJOJQJaJhnhnCJOJQJaJhnhnCJOJQJhnCJOJQJhn6CJOJQJhnho\oCJOJQJaJho\oCJOJQJho\o6CJOJQJh4}ho\oCJOJQJaJ-.12oX h8p `^``$ hp ^a$gd4}$ & F @hp ^`a$gd4}$ hp a$$ hp ^a$gdn$ & F @hp ^`a$$ hp ^`a$ 78;  +3=JYcde󛗓~oe[hGCJOJQJh?CJOJQJh?xho\oCJOJQJaJh?xho\o6CJOJQJaJ ho\o6ho\ohk]ho\oCJOJQJh4}h4}CJOJQJh4}hx~5CJOJQJh4}hx~CJOJQJh4}h4}6CJOJQJh4}hQ6CJOJQJh4}CJOJQJh4}hQCJOJQJ# 34YZCDEjk$ hh^h`a$ $ & F h8p~ ~ ^~ `a$gd?x$ h8p a$ h8p h^h & F 8hp ^` $ hp a$e +78ABCDEN[iuv}4=Fӿӿ~thY`CJOJQJhk]ho\o6CJOJQJh?CJOJQJhaho\oCJOJQJaJhaho\o6CJOJQJaJhGCJOJQJhACJOJQJhaCJOJQJh?xCJOJQJho\o6CJOJQJhk]hk]6CJOJQJho\oCJOJQJ-_`abcdwxx$ h8p @ h^ha$ & F 8hp ^`$ hTS^Sa$gda$ hTS^S`a$gda$ hS^Sa$gda $ & F h8p$ $ ^$ `a$gda F_deiow!$)/QV`ŶŶլա՗Ձ՗՗see[hcoCJOJQJhAhA5CJOJQJhcohA6CJOJQJho\o5CJOJQJhA6CJOJQJhACJOJQJho\o6CJOJQJhY$CJOJQJhAho\oCJOJQJaJhAho\o6CJOJQJaJho\oCJOJQJ ho\o6ho\oh$hoCJOJQJhaCJOJQJ!xW$ h8p a$$ h8p `^``a$gdA$ h8p 80^8`0a$gdco$ h8p `^``a$ h8p h^h `h9=^+~t~ph?xhGhG56hGhG5hGh37h376h$h$h$6hcoho\o5CJOJQJho\oCJOJQJhcoCJOJQJhAhACJOJQJhAhA5CJOJQJhA6CJOJQJhACJOJQJhAhA6CJOJQJ+9:rsj# & F 8ph ^`gd$ & F h8p ^`gd$# 8hp h^h`gd?x$ hp ^a$$ h8p @ h^ha$ h8p `^`` < = > ~~~~~~~ h8p >^`>gdG# 8ph >`>gdG# 8ph ^`gdG# 8ph ^`gdG# & F 8ph ^`gd$  %<S ' + = > ? @ k l s v } ¸‰¸z¸phGCJOJQJhx{)h]CJOJQJaJhx{)CJOJQJhbJ 5CJOJQJh]h?xCJOJQJaJh?x5CJOJQJh?xCJOJQJhbJ CJOJQJh]hbJ CJOJQJaJhbJ hx{)hbJ 5hx{)hbJ h?x56h?x hbJ h?x*> s t v w x y z { | } ]!^!# 8hp h^hgdc# h8p `gdx{)# 8ph ^`gdx{) h8p `^``gd?x h8p >^`>gdG} ~ !#!&!\!_!`!!!!!!!!!!!!!!!!!!!!" """"R"""""ȸȭڜڒhCJOJQJ hx{)hc hc5 h]5h]5CJOJQJh]h]5hx{)hc6h]hx{)hbJ hc56hchGCJOJQJhx{)hx{)56hGhx{)5 hx{)54^!!!!"""####pppZX$ h8p @ a$gdk]@$ hp @ h$d %d &d 'd -DM N O P Q ^ha$gd$ hp @ h^ha$# 8ph gdx{)# 8hp gdx{) h8p 0^`0gdx{) """E#P#Q############hwjhwUho\oCJOJQJh6CJOJQJho5CJOJQJhx{)5CJOJQJhho\o56CJOJQJhho\o5CJOJQJ############$ h8p @ a$gdk]d @....()()))()00P8$:pQBP/ =!"#$%8 DpTD phoenixQG's2 0@P`p2( 0@P`p 0@P`p 0@P`p 0@P`p 0@P`p 0@P`p8XV~ 0@ 0@ 0@ 0@ 0@ 0@ 0@ 0@ 0@ 0@ 0@ 0@ 0@ 0@_HmH nH sH tH H`H Normal1$CJOJQJ_HmH sH tH P@P  Heading 1$$*$@&a$56CJ OJQJl@l  Heading 2,$$ & F h8p*$@&a$5@CJOJQJDA D Default Paragraph FontViV  Table Normal :V 44 la (k (No List 4+@4  Endnote Text>* > Endnote ReferenceH*66  Footnote Text@& !@ Footnote ReferenceH*NN TOC 1) $ 0*$]^`0JJ TOC 2% $ 0*$]^`0JJ TOC 3% $ p0*$]^p`0JJ TOC 4% $ @ 0*$]^@ `0JJ TOC 5% $ 0*$]^`0BB TOC 6 $0*$^`0:: TOC 70*$^`0BB TOC 8 $0*$^`0BB TOC 9 $ 0*$^`0N N Index 1% $ `*$]^``N N Index 2% $ 0*$]^`0>.>  TOA Heading *$ $*"* Caption:/: _Equation Caption@B@ Body Text !$*$a$OJQJ@Y"@  Document Map"-D OJQJ|C@2| Body Text Indent2#$ h8p0*$^`0a$@CJOJQJxRBx Body Text Indent 2*$$ h8p*$^a$@CJOJQJbPRb Body Text 2"%$ h8p*$a$@CJOJQJXSbX Body Text Indent 3 &^6CJOJQJPK![Content_Types].xmlN0EH-J@%ǎǢ|ș$زULTB l,3;rØJB+$G]7O٭VvnB`2ǃ,!"E3p#9GQd; H xuv 0F[,F᚜K sO'3w #vfSVbsؠyX p5veuw 1z@ l,i!b I jZ2|9L$Z15xl.(zm${d:\@'23œln$^-@^i?D&|#td!6lġB"&63yy@t!HjpU*yeXry3~{s:FXI O5Y[Y!}S˪.7bd|n]671. tn/w/+[t6}PsںsL. J;̊iN $AI)t2 Lmx:(}\-i*xQCJuWl'QyI@ھ m2DBAR4 w¢naQ`ԲɁ W=0#xBdT/.3-F>bYL%׭˓KK 6HhfPQ=h)GBms]_Ԡ'CZѨys v@c])h7Jهic?FS.NP$ e&\Ӏ+I "'%QÕ@c![paAV.9Hd<ӮHVX*%A{Yr Aբ pxSL9":3U5U NC(p%u@;[d`4)]t#9M4W=P5*f̰lk<_X-C wT%Ժ}B% Y,] A̠&oʰŨ; \lc`|,bUvPK! ѐ'theme/theme/_rels/themeManager.xml.relsM 0wooӺ&݈Э5 6?$Q ,.aic21h:qm@RN;d`o7gK(M&$R(.1r'JЊT8V"AȻHu}|$b{P8g/]QAsم(#L[PK-![Content_Types].xmlPK-!֧6 0_rels/.relsPK-!kytheme/theme/themeManager.xmlPK-!R%theme/theme/theme1.xmlPK-! ѐ' theme/theme/_rels/themeManager.xml.relsPK] h  Q lG(%7eF`} "# "#%')+.02 m Dx> ^!##!$&(*,-/13@ 0e0e     @  1 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||@0(  B S  ?9*urn:schemas-microsoft-com:office:smarttagsplace9*urn:schemas-microsoft-com:office:smarttagsState GJKNQ\dg#R` "&BOQUq~"/O[1AIPelqt   . Q `  2 5 = A \ c  ] ` w z  .5*DV.Ug )47Iio!$jmHT| "FUWc#&BEGJquRarw <?knIL1BUZ  K N   z } 27DX/Ui7J[_ 58:>sy @C|333333333333333333333333333333333333333333333333333333333333__|| D D G G o o   7=^c<<__|| D D G G o o   7=^c<<)8>Ihpic? Ħ(8@ 9T֘ezT"Xrd1v<(FB+l&>$c c(T֘e]l28p8&2d(HT֘el``Kh8:]mOl/- Q)8NR/|UaeZ&@[n|kb0~BGdT֘e9hT֘e!$)&w4t~yjLd9yVC0h^h`5679;<B*CJ8H*OJQJS*TXo(+h^`CJ(OJQJo(hHFh ^ `OJQJ^Jo(hHoh\ ^\ `OJQJo(hHh,^,`OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHhl^l`OJQJ^Jo(hHoh<^<`OJQJo(hH0^`0CJo(.hh^h`CJ OJQJo(lh0^`5679;<B*CJ4H*OJQJS*TXo(Fhp^p`OJQJ^Jo(hHoh@ ^@ `OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHhP^P`OJQJ^Jo(hHoh ^ `OJQJo(hH0h^h`5679;<B*CJ4H*OJQJS*TXo(Fh0h^h`5679;<B*CJ4H*OJQJS*TXo(Fh8^8`OJQJ^Jo(hHoh^`OJQJo(hHh ^ `OJQJo(hHh ^ `OJQJ^Jo(hHohx^x`OJQJo(hHhH^H`OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`CJ(OJQJo(hHFh~ ^~ `OJQJ^Jo(hHohN ^N `OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHh^^^`OJQJ^Jo(hHoh.^.`OJQJo(hHh ^ `CJ(OJQJo(hHFh ^ `OJQJ^Jo(hHoh{^{`OJQJo(hHhK^K`OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHoh[ ^[ `OJQJo(hH808^8`0CJ0OJQJaJ0o(hHF++^+`OJQJ^Jo(hHo^`OJQJo(hH^`OJQJo(hH^`OJQJ^Jo(hHokk^k`OJQJo(hH;;^;`OJQJo(hH  ^ `OJQJ^Jo(hHo^`OJQJo(hH0h^h`5679;<B*CJ4H*OJQJS*TXo(Fh08^8`5679;<B*CJ4H*OJQJS*TXo(Fh^`OJQJ^Jo(hHoh ^ `OJQJo(hHh ^ `OJQJo(hHhx^x`OJQJ^Jo(hHohH^H`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hH@@^@`.0h^h`5679;<B*CJ4H*OJQJS*TXo(Fh^`CJ0OJQJaJ0o(hHFhpp^p`OJQJ^Jo(hHoh@ @ ^@ `OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHhPP^P`OJQJ^Jo(hHoh  ^ `OJQJo(hHP8^`PCJ4OJQJo(+0h^h`5679;<B*CJ8H*OJQJS*TXo(+h8^8`OJQJo(hHh^`OJQJ^Jo(hHoh ^ `OJQJo(hHh ^ `OJQJo(hHhx^x`OJQJ^Jo(hHohH^H`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHhS^S`CJ(OJQJo(hHFh#^#`OJQJ^Jo(hHoh^`OJQJo(hHh ^ `OJQJo(hHh^`OJQJ^Jo(hHohc^c`OJQJo(hHh3^3`OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hH@@^@`.^`CJOJQJaJo(hH++^+`OJQJ^Jo(hHo^`OJQJo(hH^`OJQJo(hH^`OJQJ^Jo(hHokk^k`OJQJo(hH;;^;`OJQJo(hH  ^ `OJQJ^Jo(hHo^`OJQJo(hHh ^ `CJ(OJQJo(hHFh ^ `OJQJ^Jo(hHoh{^{`OJQJo(hHhK^K`OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHoh[ ^[ `OJQJo(hH0h^h`5679;<B*CJ4H*OJQJS*TXo(F0h^h`5679;<B*CJ4H*OJQJS*TXo(F0h^h`5679;<B*CJ8H*OJQJS*TXo(+0h^h`5679;<B*CJ8H*OJQJS*TXo(+0h^h`5679;<B*CJ4H*OJQJS*TXo(F808^8`0CJ0OJQJaJ0o(hHF++^+`OJQJ^Jo(hHo^`OJQJo(hH^`OJQJo(hH^`OJQJ^Jo(hHokk^k`OJQJo(hH;;^;`OJQJo(hH  ^ `OJQJ^Jo(hHo^`OJQJo(hHh8^8`OJQJo(hHh^`OJQJ^Jo(hHoh ^ `OJQJo(hHh ^ `OJQJo(hHhx^x`OJQJ^Jo(hHohH^H`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHM^`Mo(.0^`0o(.~y]mOd9yeZ?6rBGd2d(Hc c(9h9p8pi~Zt? +l&@[0- Q!1v</|U)&w]l2z`        T֘e        T֘e        `        `        T֘e        Ԗ                 `        `                 ,+b 5Qq$bJ T!x{)W537UcOk]Y`aY@acfo\o}u?x4}6}vx~]QLVtoY$oG?ncow@DX,lAkM<@8888@Unknown G.[x Times New Roman5Symbol3. .[x Arial?= .Cx Courier New71 Courier5. .[`)TahomaSMonotype SortsSymbol;WingdingsA$BCambria Math"9)hITyG,; 2 2!)P4 2Q)PHP?k]2!xx Introduction to Programming M.C. Shaw Greg Shaw                          Oh+'0  8 D P \hpxIntroduction to Programming M.C. ShawNormal Greg Shaw3Microsoft Office Word@G@dp-8@s@@>Qh  ՜.+,0 hp  Hotel Degregorio2 Introduction to Programming Title  !"#$%&'()*+,-./012346789:;<>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoqrstuvwyz{|}~Root Entry FPhData 51Table=eWordDocumentBiSummaryInformation(pDocumentSummaryInformation8xCompObjr  F Microsoft Word 97-2003 Document MSWordDocWord.Document.89q