Ați citit despre modul în care Strings funcționează în Java. Testați-vă noile abilități cu această provocare: rezolvați acest puzzle bazat pe șir, pentru a vă ajuta să vă consolidați cunoștințele despre limbajul de programare Java și dezvoltarea Android. Așa este și Androidul! Poate că trebuie să vă referiți la alte tutoriale Android aici.
Pentru a vă pregăti pentru această provocare, veți dori să începeți cu o aplicație de bază Android. Pur și simplu creați o aplicație Android în cadrul Eclipse și editați activitatea prestabilită, în special metoda onCreate (), pentru a testa codul pe care îl creați pentru această provocare. Rețineți că puteți folosi metoda Log.v () pentru a imprima de ieșire (inclusiv șiruri de caractere) în jurnalul de depanare. Acesta este un mod rapid și convenabil de afișare a testelor de ieșire pentru exerciții precum acesta.
Dacă ceea ce tocmai am cerut de la dvs. este deja prea provocator, vă recomandăm să faceți un pas înapoi. Începeți cu câteva tutoriale Android, cum ar fi Introducere în dezvoltarea Androidului sau Android începutul: Noțiuni de bază cu Fortune Crunch. Odată ce ați reușit să configurați un proiect Android, reveniți și încercați aceste exerciții progresive.
Aceasta este o provocare progresivă. Dacă urmați fiecare dintre pașii de mai jos în mod corect, veți rezolva un puzzle. Rețineți că există numeroase modalități de abordare a acestei probleme și, prin urmare, numeroase soluții.
Puteți imprima progresul în jurnalul de depanare Android numit LogCat utilizând metoda Log.v ().
Primă: Puncte suplimentare (nu pentru că sunteți clasificate) pentru cei care surprind referința la acest puzzle și de unde provine.
Pentru primul pas, va trebui să definiți un nou șir de text pentru a fi utilizat în această provocare. Aveți multe opțiuni aici. Pentru numeroasele moduri în care puteți defini șiruri de caractere în Java, consultați tutorialul String. Cea mai simplă metodă, desigur, ar fi aceea de a defini pur și simplu o nouă variabilă de tip String.
Conținutul acestui șir ar trebui să fie următorul text:
Setec Astronomie
Pentru următorul truc, veți dori să convertiți șirul la toate literele majuscule.
Aluzie: Dacă sunteți blocat, verificați metodele disponibile în clasa String, așa cum este definită în documentația SDK Android.
Control mintal: Conținutul noului dvs. șir ar trebui să fie următorul text: SETEC ASTRONOMY
Acum lucrurile vor deveni mai dificile ...
Așa cum ați putea aminti, un șir este pur și simplu o secvență de caractere. În acest pas, doriți să rearanjați caracterele din șirul dvs. cu majuscule și să adăugați un caracter suplimentar.
Gândiți-vă la sirul curent ca la o matrice de caractere bazate pe 0. Acum, rearanjați caracterele șirului dvs. în următoarea secvență, unde fiecare număr reprezintă indicele de caractere curent, liniuțele sunt utilizate pentru a separa fiecare index, iar asteriscul (*) este utilizat pentru a reprezenta un caracter spațiu:
7-8-3-9-4-1-0 - * - 14-11-6-13-5-12-10-2
Aluzie: Amintiți-vă că variabilele String nu pot fi modificate. Luați serios în considerare utilizarea StringBuilder.
pentru a vă construi conținutul noului șir de caractere specifice ale șirului sursă.
Control mintal: Dacă imprimați șirul rezultat, ar trebui să fie:
STERCI YNAM OOT.
Ești aproape acolo! Singurul lucru pe care trebuie să-l faceți este să inversați caracterele din șirul dvs. Sperăm că ați folosit un StringBuilder pentru a vă construi șirul de caractere individuale; are o metodă utilă care poate face acest lucru pentru dvs..
Imprimați șirul rezultat. Ar trebui să fie clar dacă ați rezolvat puzzle-ul.
Este întotdeauna o idee bună să vă revizuiți soluția și să o îmbunătățiți, făcând probabil puțin mai elegantă sau mai flexibilă. Deși acest pas nu este cu siguranță esențial pentru rezolvarea puzzle-ului (mai ales după cum ați făcut-o deja), vă sugerăm să continuați dacă ați descoperit pașii anteriori destul de ușor.
Presupunând că nu ați făcut-o deja, luați în considerare modul în care puteți defini o variabilă de șir pentru a reprezenta secvența indexată discutată în etapa 3.
String strSequence = "7-8-3-9-4-1-0 - * - 14-11-6-13-5-12-10-2";
Acum, urmați pașii următori:
Parsează șirul de mai sus într-o serie de șiruri, câte unul pentru fiecare număr sau asterisc.
Aluzie: Verificați metoda de clasă String numită split ().
Dezvoltatorii Android utilizează Strings tot timpul pentru a stoca date textuale în diverse scopuri. Șirurile trebuie adesea manipulate pentru a fi utilizate în codul dvs. Ca întotdeauna, există multe modalități de a rezolva aceste probleme, deci nu ezitați să postați răspunsurile alternative (sau orice întrebări) în secțiunea de comentarii. Am furnizat câteva metode în atașamentul însoțitor.
Mult noroc!
Dezvoltatorii mobili Lauren Darcey și Shane Conder au coautorizat mai multe cărți despre dezvoltarea Android: o carte de programare în profunzime intitulată Dezvoltarea aplicațiilor fără fir Android și Sams TeachYourself Dezvoltarea de aplicații Android în 24 de ore. Când nu scriu, își petrec timpul dezvoltând software-ul mobil la compania lor și oferind servicii de consultanță. Acestea pot fi obținute prin e-mail la androidwirelessdev@[email protected], prin intermediul blogului lor la androidbook.blogspot.com, și pe Twitter @ androidwireless.