Apprendre Java pour Android Challenge Strings

Vous avez lu comment les chaînes fonctionnent en Java. Testez vos nouvelles compétences avec ce défi: résolvez ce casse-tête basé sur des chaînes de caractères pour vous aider à consolider vos connaissances du langage de programmation Java et du développement Android. C'est vrai, Android aussi! Vous devrez peut-être consulter d'autres didacticiels Android ici..

Installer

Pour vous préparer à ce défi, vous voudrez commencer avec une application Android de base. Créez simplement une application Android dans Eclipse et modifiez son activité par défaut, en particulier la méthode onCreate (), pour tester le code que vous avez créé pour ce défi. N'oubliez pas que vous pouvez utiliser la méthode Log.v () pour imprimer le résultat (y compris les chaînes) dans le journal de débogage. C'est un moyen rapide et pratique d'afficher les résultats des tests pour des exercices tels que celui-ci..

Si ce que nous venons de vous demander est déjà trop difficile, nous vous recommandons de prendre du recul. Commencez par quelques-uns des didacticiels Android, tels que Introduction au développement Android ou Début d'Android: Premiers pas avec Fortune Crunch. Une fois que vous avez maîtrisé la configuration d'un projet Android, retournez et essayez ces exercices progressifs..

Un défi progressif

C'est un défi progressif. Si vous suivez correctement chacune des étapes ci-dessous, vous allez résoudre un casse-tête. N'oubliez pas qu'il existe de nombreuses manières d'aborder ce problème et donc de nombreuses solutions.

Vous pouvez imprimer votre progression dans le journal de débogage Android appelé LogCat à l'aide de la méthode Log.v ()..

Prime: Points supplémentaires (pas que vous soyez notés) pour ceux qui attrapent la référence à ce casse-tête et d'où il vient.

Étape 1: Définissez votre chaîne

Pour votre première étape, vous devrez définir une nouvelle chaîne de texte à utiliser dans ce défi. Vous avez beaucoup d'options ici. Pour les nombreuses façons dont vous pouvez définir des chaînes en Java, consultez notre tutoriel sur les chaînes. La méthode la plus simple, bien sûr, consisterait simplement à définir une nouvelle variable de type String.

Le contenu de cette chaîne devrait être le texte suivant:

Setec Astronomie

Étape 2: convertir en majuscule

Pour votre prochain tour, vous voudrez convertir la chaîne en lettres majuscules..

Allusion: Si vous êtes bloqué, vérifiez les méthodes disponibles dans la classe String, telles que définies dans la documentation du SDK Android.

Verification sanitaire: Le contenu de votre nouvelle chaîne devrait être le texte suivant: SETEC ASTRONOMY

Étape 3: Réorganiser les lettres

Maintenant, les choses vont devenir un peu plus difficiles…

Comme vous vous en souvenez peut-être, une chaîne est simplement une séquence de caractères. Dans cette étape, vous voulez réorganiser les caractères dans votre chaîne en majuscule et ajouter un caractère supplémentaire..

Pensez à votre chaîne actuelle comme un tableau de caractères basé sur 0. Maintenant, réorganisez les caractères de votre chaîne dans la séquence suivante, où chaque nombre représente l'index de caractères actuel, des tirets sont utilisés pour séparer chaque index et l'astérisque (*) est utilisé pour représenter un caractère d'espacement:

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

Allusion: Rappelez-vous que les variables de chaîne ne peuvent pas être modifiées. Sérieusement envisager d'utiliser StringBuilder.
pour construire votre nouveau contenu de chaîne à partir des caractères spécifiques de votre chaîne source.

Verification sanitaire: Si vous imprimez la chaîne résultante, elle devrait être:
STERCES YNAM OOT.

Étape 4: Inverser ces lettres

Tu y es presque! Il ne reste plus qu'à inverser les caractères de votre chaîne. J'espère que vous avez utilisé un StringBuilder pour construire votre chaîne à partir de caractères individuels; il a une méthode utile qui peut ce travail pour vous.

Imprimer la chaîne résultante. Il devrait être clair si vous avez résolu le puzzle.

Étape 5: Modifiez votre solution (défi facultatif)

C'est toujours une bonne idée de revoir votre solution et de l'améliorer, en la rendant peut-être légèrement plus élégante ou flexible. Bien que cette étape ne soit certainement pas essentielle pour résoudre le casse-tête (en particulier comme vous l'avez déjà fait), nous vous suggérons de continuer si vous avez trouvé les étapes précédentes raisonnablement simples..

En supposant que vous ne l'ayez pas déjà fait, réfléchissez à la manière dont vous pourriez définir une variable String pour représenter la séquence d'index décrite à l'étape 3..

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

Maintenant, suivez les étapes suivantes:

  1. Analyser la chaîne ci-dessus dans un tableau de chaînes, une pour chaque nombre ou astérisque.

    Allusion: Vérifiez la méthode de classe String appelée split ().

  2. Créez une boucle et parcourez ce tableau de chaînes et construisez la chaîne résultante à l'aide d'un StringBuilder. Dans le cadre de ce processus, vous devrez convertir chaque chaîne en entier approprié ou en caractère espace..

Conclusion

Les développeurs Android utilisent Strings à tout moment pour stocker des données textuelles à diverses fins. Les chaînes doivent souvent être manipulées pour pouvoir être utilisées dans votre code. Comme toujours, il existe de nombreuses façons de résoudre ces problèmes, alors n'hésitez pas à poster vos réponses alternatives (ou questions éventuelles) dans la section commentaires. Nous avons fourni quelques méthodes dans la pièce jointe..

Bonne chance!

à propos des auteurs

Les développeurs mobiles Lauren Darcey et Shane Conder ont co-écrit plusieurs livres sur le développement Android: un livre de programmation en profondeur intitulé Développement d'applications sans fil Android et Sams TeachYourself Développement d'applications Android en 24 heures. Lorsqu'ils n'écrivent pas, ils passent leur temps à développer des logiciels mobiles dans leur entreprise et à fournir des services de conseil. Vous pouvez les contacter par courrier électronique à l'adresse [email protected], via leur blog à l'adresse androidbook.blogspot.com et sur Twitter @androidwireless..

Besoin d'aide pour écrire des applications Android? Consultez nos derniers livres et ressources!