|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre éclairé
![]() Sébastien BredeleDéveloppeur Java Inscription : septembre 2011 Messages : 167 ![]() |
Voilà mon problème,
Je veux créer un string de 30 caractères de la manière suivante: J'ai en entrée 2 strings nom et prénom de taille n et p(entre 0 et 40) je veux caser le nom dans les 20 premiers caractères du string final(en complétant avec des espaces) et le prénom dans le reste(toujours en complétant avec des espaces) C'est facile mais disons que je m'y suis pris de maniere un peu barbare avec des boucles à la c...noix . Est ce que quelqu'un connait une méthode simple et élégante avec des substring et autres?Amicalement. |
|
|
00
|
|
|
#2 |
![]() ![]() Développeur Java/Web Inscription : avril 2002 Messages : 12 460 ![]() |
Salut,
La solution est toute simple en utilisant le format à-la-printf() : Code :
String r = String.format("%-20.20s%-20.20s", n, p); Si les termes font moins de 20 caractères ils seront complétés par des espaces. S'il font plus de 20 caractères ils seront tronqué... a++
__________________
adiGuba [ tutoriels | blog | twitter ] Rédacteur/Modérateur Java |
|
20
|
|
|
#3 | ||
|
Membre éclairé
![]() Sébastien BredeleDéveloppeur Java Inscription : septembre 2011 Messages : 167 ![]() |
Donc
Code :
"Bredele Seb "? avec 13 espaces apres bredele et 7 apres seb. Ya t'il un moyen de metter le tout en majuscule aussi au passage? Enfin j'ai essayé de trouver la doc concernant cette methode dans java.txt mais j'ai rien trouvé... une piste? Merci |
||
|
|
00
|
|
|
#4 | ||
![]() ![]() Développeur Java/Web Inscription : avril 2002 Messages : 12 460 ![]() |
Citation:
Il suffit de mettre le S en majuscule : %-20.20S%-10.10S" A noter que dans ce cas là il serait peut-être préférable de passer la Locale (cela pourrait avoir une influence) Citation:
a++
__________________
adiGuba [ tutoriels | blog | twitter ] Rédacteur/Modérateur Java |
||
|
20
|
|
|
#5 | |
|
Expert Confirmé Sénior
![]() Inscription : septembre 2004 Messages : 5 092 ![]() |
Citation:
On y trouve le paragraphe "Conversions" dans lequel il est dit que %S est la version uppercase de %s. |
|
|
|
10
|
|
|
#6 | |
|
Membre éclairé
![]() Sébastien BredeleDéveloppeur Java Inscription : septembre 2011 Messages : 167 ![]() |
Citation:
Nos serveurs n'en sont qu'à la 1.4 Je vais aller wine chez mon chef pour la peine. En tout cas merci pour vos indications! |
|
|
|
00
|
|
|
#7 |
|
Expert Confirmé Sénior
![]() Inscription : septembre 2004 Messages : 5 092 ![]() |
Oui, enfin, d'accord c'est la lose, mais c'est quand même pas bien compliqué de faire ce genre de choses avec un StringBuffer.
|
|
|
00
|
|
|
#8 |
![]() ![]() |
Profite en pour lui rappeler qu'il n'y a plus de mise jour sur la 1.4 depuis octobre 2008, qu'il n'y a plus de mises à jours sur la 1.5 depuis octobre 2009 et qu'il 'y aura plus de mise à jour de java 6 à partir de juillet de cette année. Vous êtes à la merci des moindres nouveau bug découvert
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et ![]() "Votre génitrice tute des pédoncules au pandémonium" (le conjurateur, 1973) |
|
|
20
|
|
|
#9 | ||
|
Membre éclairé
![]() Sébastien BredeleDéveloppeur Java Inscription : septembre 2011 Messages : 167 ![]() |
Je vais quand meme mettre la méthode bourrin :
Code :
Merci pour vos contributions. |
||
|
|
00
|
|
|
#10 |
![]() ![]() |
Si c'est souvent appelé, j'aurais préféré voir un StringBuilder
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et ![]() "Votre génitrice tute des pédoncules au pandémonium" (le conjurateur, 1973) |
|
|
00
|
|
|
#11 |
|
Expert Confirmé Sénior
![]() Inscription : septembre 2004 Messages : 5 092 ![]() |
Hélas pas de StringBuilder en 1.4.
Donc StringBuffer à la place, m'enfin, c'est encore une raison de plus de faire évoluer la JVM vers une version où il y a encore du support. |
|
|
10
|
Copyright © 2000-2012 - www.developpez.com