Remplir un carnet [Résolu]

Signaler
Messages postés
7
Date d'inscription
lundi 16 novembre 2020
Statut
Membre
Dernière intervention
26 novembre 2020
-
Messages postés
7
Date d'inscription
lundi 16 novembre 2020
Statut
Membre
Dernière intervention
26 novembre 2020
-
Bonsoir,
Je souhaite faire une méthode qui insère des contacts par ligne dans un carnet vide et trie les noms par ordre alphabétique et j'ai déjà fait ceci mais je suis présentement bloqué :

StringBuffer contactCarnet = new StringBuffer(contactLigne);
    contactCarnet.append(System.getProperty("line.separator"));
    String contact = String.valueOf(contactCarnet);
    return contact;


Mais je ne vois pas comment trier les contacts à partir de leur nom sans utiliser un tableau et la classe collections -_-' quelqu'un pourrais me donner un coup de main, une astuce s'il-vous-plaît. Merci et bonne journée!

2 réponses

Messages postés
16152
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
15 janvier 2021
2 767
Bonjour,

"sans utiliser un tableau et la classe collections"
Utiliser un String c'est déjà utiliser un tableau...

Remarque : n'utilise pas StringBuffer non plus (encore moins comme tu l'as fait)
Le code que tu nous as montré peux s'écrire comme ceci :
return contactLine + System.getProperty("line.separator");

Toutefois je te conseille de plutôt utiliser
"\n"
directement plutôt que de passer par System.getProperty
Messages postés
7
Date d'inscription
lundi 16 novembre 2020
Statut
Membre
Dernière intervention
26 novembre 2020

Bonsoir,
merci beaucoup pour la remarque elle est mieux optimisée, le "sans utiliser un tableau et la classe collections" je veux insérer un contact dans le carnet(String) qui est vide sans avoir à importer une classe comme java.util.Arrays ou java.util.Collections mais je peux utiliser les classes comme la classe StringTokenizer ou la classe Scanner seulement . Bonne soirée et merci !
Messages postés
16152
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
15 janvier 2021
2 767
"sans avoir à importer une classe comme java.util.Arrays ou java.util.Collections"
Donc tu pourrais utiliser des tableaux comme String[] et c'est vers ça que tu dois t'orienter, parce que sinon ça aurait été beaucoup trop restrictif.

Remarque : StringTokenizer est à oublier, cette classe est conservée pour la compatibilité avec les (très) vieux codes, mais depuis Java 5 (qui date de 2002...) il est recommandé d'utiliser les expressions régulières à la place.
Messages postés
7
Date d'inscription
lundi 16 novembre 2020
Statut
Membre
Dernière intervention
26 novembre 2020
>
Messages postés
16152
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
15 janvier 2021

Si ça aurait été pu faire avec un tableau je l'aurais trouvé mais même un tableau string je ne peux pas utiliser, les tableaux sont strictement interdits j'aimerais savoir s'il y a une autre alternative j'arrive bien à inserer mais je vois pas comment trier :
public static String insererCeContactDansCarnet(String carnet, String contactLigne) {
        String insereContact = contactLigne + System.getProperty("line.separator");
        return insereContact;

Merci !