Impara Java per Android Sfida stringhe

Hai letto su come le stringhe funzionano in Java. Metti alla prova le tue nuove abilità con questa sfida: risolvi questo puzzle basato su String per aiutarti a consolidare la tua conoscenza del linguaggio di programmazione Java e dello sviluppo Android. Esatto, anche Android! Potrebbe essere necessario fare riferimento ad altre esercitazioni Android qui.

Impostare

Per prepararti a questa sfida, ti consigliamo di iniziare con un'applicazione Android di base. È sufficiente creare un'applicazione Android in Eclipse e modificare la sua attività predefinita, in particolare il metodo onCreate (), per testare il codice creato per questa sfida. Ricordare, è possibile utilizzare il metodo Log.v () per stampare l'output (incluse le stringhe) nel registro di debug. Questo è un modo rapido e conveniente per visualizzare l'output di test per esercizi come questo.

Se ciò che ti abbiamo appena chiesto è già troppo impegnativo, ti consigliamo di fare un passo indietro. Inizia con alcune esercitazioni Android, come Introduzione allo sviluppo Android o Android iniziale: Introduzione a Fortune Crunch. Una volta che hai imparato a configurare un progetto Android, torna e prova questi esercizi progressivi.

Una sfida progressiva

Questa è una sfida progressiva. Se segui correttamente i seguenti passaggi, risolvi un enigma. Tieni presente che esistono numerosi modi per affrontare questo problema e quindi numerose soluzioni.

Puoi stampare i tuoi progressi nel log di debug di Android chiamato LogCat usando il metodo Log.v ().

indennità: Punti extra (non che sei stato classificato) per coloro che catturano il riferimento a questo puzzle e da dove viene.

Passaggio 1: definire la stringa

Per il tuo primo passo, dovrai definire una nuova stringa di testo da usare in questa sfida. Hai un sacco di opzioni qui. Per i molti modi in cui è possibile definire stringhe in Java, consultare il nostro tutorial String. Il metodo più semplice, ovviamente, sarebbe semplicemente definire una nuova variabile di tipo String.

Il contenuto di questa stringa dovrebbe essere il seguente testo:

Setec Astronomia

Passaggio 2: Converti in maiuscolo

Per il tuo prossimo trucco, ti consigliamo di convertire la stringa in tutte le lettere maiuscole.

Suggerimento: Se sei bloccato, controlla i metodi disponibili all'interno della classe String, come definito nella documentazione di Android SDK.

Controllo sanitario: Il contenuto della nuova stringa dovrebbe essere il seguente testo: SETEC ASTRONOMY

Passaggio 3: riorganizzare le lettere

Ora le cose diventeranno un po 'più impegnative ...

Come puoi ricordare, una stringa è semplicemente una sequenza di caratteri. In questo passaggio, si desidera riorganizzare i caratteri nella stringa in maiuscolo e aggiungere un carattere in più.

Pensa alla tua stringa corrente come una matrice di caratteri basata su 0. Ora riorganizzare i caratteri della stringa nella seguente sequenza, in cui ogni numero rappresenta l'indice di carattere corrente, i trattini vengono utilizzati per separare ciascun indice e l'asterisco (*) viene utilizzato per rappresentare un carattere di spazio:

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

Suggerimento: Ricorda che le variabili stringa non possono essere modificate. Considerare seriamente l'uso di StringBuilder.
per costruire il nuovo contenuto della stringa dai caratteri specifici della stringa di origine.

Controllo sanitario: Se si stampa la stringa risultante, dovrebbe essere:
STERCES YNAM OOT.

Passaggio 4: Invertire queste lettere

Ci sei quasi! L'unica cosa che rimane da fare è invertire i caratteri nella tua stringa. Si spera che tu abbia usato un StringBuilder per costruire la tua stringa da singoli personaggi; ha un metodo utile che può fare questo lavoro per te.

Stampa la stringa risultante. Dovrebbe essere chiaro se hai risolto il puzzle.

Passaggio 5: modifica la soluzione (Sfida facoltativa)

È sempre una buona idea rivedere la soluzione e migliorarla, rendendola forse leggermente più elegante o flessibile. Sebbene questo passaggio non sia certamente essenziale per risolvere il puzzle (specialmente come hai già fatto), ti suggeriamo di continuare se hai trovato i passaggi precedenti abbastanza semplice.

Supponendo che tu non abbia già, considera come potresti definire una variabile String per rappresentare la sequenza di indice discussa nel Passaggio 3.

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

Ora, procedi nel seguente modo:

  1. Analizza la stringa sopra in una serie di stringhe, una per ogni numero o asterisco.

    Suggerimento: Controlla il metodo della classe String chiamato split ().

  2. Creare un ciclo e scorrere questa serie di stringhe e creare la stringa risultante utilizzando un oggetto StringBuilder. Come parte di questo processo, sarà necessario convertire ciascuna stringa nel numero intero appropriato o in uno spazio.

Conclusione

Gli sviluppatori Android utilizzano sempre le stringhe per archiviare dati testuali per vari scopi. Spesso le stringhe devono essere manipolate per poter essere utilizzate all'interno del codice. Come sempre, ci sono molti modi per risolvere questi problemi, quindi sentitevi liberi di pubblicare le vostre risposte alternative (o eventuali domande) nella sezione commenti. Abbiamo fornito un paio di metodi nell'allegato allegato.

Buona fortuna!

Riguardo agli Autori

Gli sviluppatori mobili Lauren Darcey e Shane Conder hanno coautore diversi libri sullo sviluppo di Android: un libro di programmazione approfondito intitolato Sviluppo di applicazioni wireless Android e Sams TeachYourself Sviluppo di applicazioni Android in 24 ore. Quando non scrivono, passano il loro tempo a sviluppare software mobile presso la loro azienda ea fornire servizi di consulenza. Possono essere contattati via email a [email protected], tramite il loro blog su androidbook.blogspot.com e su Twitter @androidwireless.

Hai bisogno di più aiuto nella scrittura di app per Android? Consulta i nostri ultimi libri e risorse!