Salut
Est il possible de creer un String directement, sans passer par une boucle, correspondant a la repetition d'un autre String ?
thx @+
Version imprimable
Salut
Est il possible de creer un String directement, sans passer par une boucle, correspondant a la repetition d'un autre String ?
thx @+
Que ce soit dans la classe String ou StringBuffer/StringBuilder, je ne vois pas de telle méthode :(
C'est bien se qui me semblais !
Thx
Je ne comprend pas ce que tu veux faire.Citation:
Envoyé par Seth77
Dans certains langage il est possible de generer un string avec une repetition d'un autre autre .Citation:
Envoyé par thibaut
Par exemple :
Str = "msg"
Repetition : 5
Str resultat = "msgmsgmsgmsgmsg"
:D
Ba à la limite tu fais ta propre classe qui hérite de String avec ton propre constructeur.
ben tu crées ta propre méthode :
Code:
1
2
3
4
5
6
7
8 public static String repetition(String root, int count) { StringBuffer temp = new StringBuffer(); for (int i = 0; i<count; i++) { temp.append(root); } return temp.toString(); }
Je ne crois pas, String est final !!!Citation:
Envoyé par remika
effectivement...
j'ai parlé trop vite :oops:
Il n'y à rien de tel dans l'API standard, mais rien ne t'empêche de le coder
[edit] grilled [/edit]Code:
1
2
3
4
5
6
7
8
9
10 public static final String repeteString(String string, int count) { if(int < 0) { throw new IllegalArgumentException("count must be positive or 0 : " + count); } StringBuilder sb = new StringBuilder(); for(int i = 0; i < count; i ++) { sb.append(string); } return sb.toString(); }
Exact, et plus particulièrement, String est Immuable (cf Classes et objets immuables).Citation:
Envoyé par thibaut
Bonjour
Tant qu'à utiliser StringBuffer(Builder) :
Code:
1
2
3
4
5
6
7
8
9
10
11 public static final String repeteString(String string, int count) { if(int < 0) { throw new IllegalArgumentException("count must be positive or 0 : " + count); } StringBuilder sb = new StringBuilder(string.length * count); for(int i = 0; i < count; i ++) { sb.append(string); } return sb.toString(); }
Merci Tlm !!
J'ai code la fonction... c t pour savoir si il y avait une fonction deja existante !
:mouarf:
Petite remarque sémantique histoire de jouer les chieurs. On ne dit pas Fonction ou procédure en Java, on parle uniquement tout simpement de méthode. Ca n'a pas le même sens, merci de s'y conformer.Citation:
Envoyé par Seth77
Ah bon !!!Citation:
Envoyé par thibaut
Pourquoi ?
Pour moi :
- fonction -> retourne une valeur
- Procedure -> ne retourne rien
8O 8O 8O
Certes mais en POO: un méthode envoie un message à un objet pour lui demander de faire un traitement et de lui renvoyer un message. Dans un procédure ou une fonction tu n'as pas la notion de message.Citation:
Envoyé par Seth77
Ah..pour moi une methode est une fonction ou une procedure faisant partie d'une classe .... :?Citation:
Envoyé par thibaut
Java est un langage Objet, et donc utilise le vocabulaire de la Programmation Orientée Objet.
En POO il n'y a ni fonction ni procédure mais uniquement des méthodes.
Ce n'est qu'une question de vocabulaire.Citation:
Les méthodes sont les éléments d'un objet qui servent d'interface entre les données et le programme. Sous ce nom obscur se cachent simplement des procédures ou fonctions destinées à traiter les données.
[edit] grilled [/edit]
Sinon, si tu veut juste répéter un seul caractère, tu peut faire encore plus simple :
Code:
1
2
3
4
5 public static final String repeteCarac(char carac, int number) { char[] chars= new char[number]; Arrays.fill(chars, carac); return new String(chars); }