A voir également:
- Affichage
- Affichage double ecran - Guide
- Windows 11 affichage classique - Guide
- Comment agrandir l'affichage de l'écran - Guide
- Problème affichage fenêtre windows 10 - Guide
- Affichage conditionnel excel - Guide
1 réponse
KX
Messages postés
16754
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
13 juin 2017 à 08:09
13 juin 2017 à 08:09
Bonjour,
"afficher le message suivant au clavier"
C'est à l'écran que l'on affiche les messages, jamais au clavier...
"sans utiliser system.out.println()"
Bizarre, on pourrait contourner le println, mais un affichage c'est quand même bien System.out qui devra s'en occuper
"j ai obtenu " mot1,mot2,mot3," "
il faudrait rajouter une condition pour détecter les cas limites, mais le plus simple serait de laisser faire Java qui a déjà des méthodes pour ça.
"afficher le message suivant au clavier"
C'est à l'écran que l'on affiche les messages, jamais au clavier...
"sans utiliser system.out.println()"
Bizarre, on pourrait contourner le println, mais un affichage c'est quand même bien System.out qui devra s'en occuper
"j ai obtenu " mot1,mot2,mot3," "
il faudrait rajouter une condition pour détecter les cas limites, mais le plus simple serait de laisser faire Java qui a déjà des méthodes pour ça.
@Override public String toString() { return listeDeMot.stream() .map(Phrase::getMot) .collect(Collectors.joining(",")); }
13 juin 2017 à 13:43
13 juin 2017 à 14:17
En utilisant la méthode stream() sur ta liste on obtient un Stream<Phrase>
La méthode map des Stream, prends en paramètre une Function<T, R> pour convertir chaque objet T en un objet R.
Dans ton cas, la méthode étant une Function<Phrase, String> on peut l'utiliser pour passer d'un Stream<Phrase> à un Stream<String>
Ensuite on peut collecter toutes les données du Stream et dans ton cas joindre les String en les séparant par des virgules, grâce aux Collectors.
Voir : https://docs.oracle.com/javase/tutorial/collections/streams/index.html
Remarque : en passant par un Stream on peut unifier le développement, par exemple on pourrait faire exactement pareil avec un tableau à la place de ta liste, il faudrait juste utiliser au lieu de .
13 juin 2017 à 14:31