Lær Java for Android Utfordring Strings

Du har lest om hvordan Strings fungerer i Java. Test dine nye ferdigheter med denne utfordringen: Løs dette Strings-baserte puslespillet for å hjelpe deg å styrke din kunnskap om Java-programmeringsspråket og Android-utviklingen. Det er riktig, Android, også! Du må kanskje se andre Android-opplæringsprogrammer her.

Setup

For å forberede seg på denne utfordringen, vil du starte med en grunnleggende Android-applikasjon. Du kan bare lage en Android-applikasjon innenfor Eclipse og redigere standardaktiviteten, spesielt metoden onCreate (), for å teste koden du lager for denne utfordringen. Husk at du kan bruke metoden Log.v () til å skrive ut utdata (inkludert strenger) til feilsøkingsloggen. Dette er en rask og praktisk måte å vise testutgang for øvelser som denne.

Hvis det vi allerede har spurt om dere allerede er for utfordrende, vil vi anbefale å ta et skritt tilbake. Start med noen av Android-veiledningene, for eksempel Introduksjon til Android-utvikling eller Begynn Android: Komme i gang med Fortune Crunch. Når du har mestret å sette opp et Android-prosjekt, kom tilbake og prøv disse progressive øvelsene.

En Progressiv Utfordring

Dette er en progressiv utfordring. Hvis du følger hvert av trinnene nedenfor riktig, løser du et puslespill. Husk, det er mange måter å nærme seg dette problemet og derfor mange løsninger.

Du kan skrive ut fremdriften din til Android-feilsøkingsloggen, kalt LogCat, ved hjelp av Log.v () -metoden.

Bonus: Ekstra poeng (ikke at du blir gradert) for de som tar referansen til dette puslespillet, og hvor det kommer fra.

Trinn 1: Definer din streng

For ditt første skritt må du definere en ny tekststreng for bruk i denne utfordringen. Du har mange alternativer her. For de mange måtene du kan definere strenger i Java, se vår Strengeopplæring. Den enkleste metoden, selvfølgelig, ville være å bare definere en ny variabel av typen String.

Innholdet i denne strengen skal være følgende tekst:

Setec Astronomi

Trinn 2: Konverter til stor bokstav

For ditt neste triks, vil du konvertere strengen til alle store bokstaver.

Hint: Hvis du sitter fast, må du kontrollere metodene som er tilgjengelige i String-klassen, som definert i Android SDK-dokumentasjonen.

Tilregnlighetssjekk: Innholdet i den nye strengen skal være følgende tekst: SETEC ASTRONOMY

Trinn 3: Ranger om brevet

Nå vil ting bli litt mer utfordrende ...

Som du kanskje husker, er en streng bare en sekvens av tegn. I dette trinnet vil du omorganisere tegnene i stor bokstav og legge til ett ekstra tegn.

Tenk på din nåværende streng som et 0-basert utvalg av tegn. Nå omordne tegnene til strengen din i følgende rekkefølge, hvor hvert tall representerer den nåværende tegnindeksen, brukes bindestreker til å skille hver indeks, og asterisken (*) brukes til å representere et mellomrom:

 7-8-3-9-4-1-0 - * - 14-11-6-13-5-12-10-2 

Hint: Husk at strengvariabler ikke kan endres. Seriøst vurdere å bruke StringBuilder.
å bygge opp ditt nye strenginnhold fra de spesifikke tegnene til kildebåndet.

Tilregnlighetssjekk: Hvis du skriver ut den resulterende strengen, bør den være:
STERCES YNAM OOT.

Trinn 4: Omvendt de bokstavene

Du er nesten der! Det eneste du må gjøre er å reversere tegnene i strengen din. Forhåpentligvis brukte du en StringBuilder til å bygge opp din streng fra individuelle tegn; Det har fått en nyttig metode som kan denne jobben for deg.

Skriv ut den resulterende strengen. Det bør være klart om du har løst puslespillet.

Trinn 5: Tweak din løsning (valgfri utfordring)

Det er alltid en god idé å vurdere løsningen din og forbedre den, kanskje gjør den litt mer elegant eller fleksibel. Selv om dette trinnet absolutt ikke er viktig for å løse puslespillet (spesielt som du allerede har gjort det), foreslår vi at du fortsetter hvis du har funnet de foregående trinnene ganske enkelt.

Forutsatt at du ikke allerede har det, bør du vurdere hvordan du kan definere en streng-variabel for å representere indekssekvensen som er diskutert i trinn 3.

 String strSequence = "7-8-3-9-4-1-0 - * - 14-11-6-13-5-12-10-2"; 

Nå, gjør følgende:

  1. Parsér strengen ovenfor i en rekke Strings, en for hvert tall eller en stjerne.

    Hint: Kontroller strengklassemetoden kalt split ().

  2. Lag en loop og iterate gjennom denne rekke strenger og bygg den resulterende strengen ved hjelp av en StringBuilder. Som en del av denne prosessen må du konvertere hver streng til riktig heltall, eller til et mellomrom.

Konklusjon

Android-utviklere bruker Strings hele tiden til å lagre tekstdata for ulike formål. Strenger må ofte manipuleres for å kunne brukes i koden din. Som alltid er det mange måter å løse disse problemene på, så vær så snill å legge inn dine alternative svar (eller noen spørsmål) i kommentarfeltet. Vi har levert et par metoder i vedlegget.

Lykke til!

Om forfatterne

Mobilutviklere Lauren Darcey og Shane Conder har medforfatter flere bøker om Android-utvikling: en grundig programmeringsbok med tittel Android Wireless Application Development og Sams TeachYourself Android Application Development i 24 timer. Når de ikke skriver, bruker de sin tid på å utvikle mobil programvare hos deres firma og tilby konsulenttjenester. De kan nås via e-post til [email protected], via bloggen deres på androidbook.blogspot.com, og på Twitter @androidwireless.

Trenger du flere hjelpeskrivende Android-apper? Se våre nyeste bøker og ressurser!