2 votes

Répétition de la chaîne avec la méthode

J'ai donc besoin d'écrire une méthode qui accepte un objet String et un nombre entier et qui répète cette chaîne fois le nombre entier.

Par exemple : repeat("ya",3) doit afficher "yayaya". J'ai écrit ce code mais il s'imprime l'un après l'autre. Pouvez-vous m'aider ?

public class Exercise{

  public static void main(String[] args){

     repeat("ya", 5);
  }

  public static void repeat(String str, int times){

    for(int i = 0;i < times;i++){
        System.out.println(str);
    }
  }
}

2voto

Eli Sadoff Points 4721

Vous utilisez System.out.println qui imprime ce qui est contenu suivi d'une nouvelle ligne. Vous voulez changer cela en :

public class Exercise{
  public static void main(String[] args){
    repeat("ya", 5);
  }

  public static void repeat(String str, int times){
    for(int i = 0; i < times; i++){
      System.out.print(str);
    }
    // This is only if you want a new line after the repeated string prints.
    System.out.print("\n");
  }
}

2voto

thetraveller Points 425

Vous l'imprimez sur une nouvelle ligne, alors essayez d'utiliser ce :

public static void repeat(String str, int times){

    for(int i = 0;i < times;i++){
        System.out.print(str);
    }
}

1voto

Blasanka Points 3456

Changement System.out.println() a System.out.print() .

Exemple d'utilisation println() :

System.out.println("hello");// contains \n after the string
System.out.println("hello");

Sortie :

hello
hello

Exemple d'utilisation print() :

System.out.print("hello");
System.out.print("hello");

Sortie :

hellohello

Essayez de comprendre la différence.

Votre exemple utilisant la récursion/sans boucle :

public class Repeat {

    StringBuilder builder = new StringBuilder();

    public static void main(String[] args) {    
        Repeat rep = new Repeat();
        rep.repeat("hello", 10);
        System.out.println(rep.builder);    
    }

    public void repeat(String str, int times){
        if(times == 0){
            return;
        }
        builder.append(str);

        repeat(str, --times);
    }

}

0voto

Arunachalam Points 9
public class pgm {

  public static void main(String[] args){

     repeat("ya", 5);
  }

  public static void repeat(String str, int times){

    for(int i = 0;i < times;i++){
        System.out.print(str);
    }
  }
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X