Java 如何在一段文字中重复每个字母?在爪哇

Java 如何在一段文字中重复每个字母?在爪哇,java,Java,与口吃一样,如果文本为“dean”且乘数为3,则所提供乘数指定的次数,结果将为“dddeeeaannn” publicstaticvoidrepeatLetters() { 字符串text=“dean”; int n=3; StringBuilder repeat=新的StringBuilder(文本); 对于(int i=0;i

与口吃一样,如果文本为“dean”且乘数为3,则所提供乘数指定的次数,结果将为“dddeeeaannn”

publicstaticvoidrepeatLetters()
{
字符串text=“dean”;
int n=3;
StringBuilder repeat=新的StringBuilder(文本);
对于(int i=0;i

没有得到要求的结果。我做错了什么?

你在重复整个单词。。一个可能的解决办法是

public static void repeatLetters()
{
   String text = "dean";
   int n = 3;
   StringBuilder repeat = new  StringBuilder();

   for (int i = 0; i < text.length() ; i++)
   {
        for (int j= 0; j< n; j++)
            repeat.append(text.charAt(i));
   }

  System.out.println(repeat);
}
publicstaticvoidrepeatLetters()
{
字符串text=“dean”;
int n=3;
StringBuilder repeat=新建StringBuilder();
对于(int i=0;i
您在重复整个单词。。一个可能的解决办法是

public static void repeatLetters()
{
   String text = "dean";
   int n = 3;
   StringBuilder repeat = new  StringBuilder();

   for (int i = 0; i < text.length() ; i++)
   {
        for (int j= 0; j< n; j++)
            repeat.append(text.charAt(i));
   }

  System.out.println(repeat);
}
publicstaticvoidrepeatLetters()
{
字符串text=“dean”;
int n=3;
StringBuilder repeat=新建StringBuilder();
对于(int i=0;i
您只需在字符串末尾添加三次单词“dean”

尝试在单词dean中的每个字符之间循环,并在该字符后面加三次

类似这样的内容(这是伪代码):

StringBuilder repeat=新建StringBuilder();
ForEach(字母“dean”)
对于(int i=0;i<3;i++)
重复。添加(字母);
复赛

您只需在字符串末尾添加三次单词“dean”

尝试在单词dean中的每个字符之间循环,并在该字符后面加三次

类似这样的内容(这是伪代码):

StringBuilder repeat=新建StringBuilder();
ForEach(字母“dean”)
对于(int i=0;i<3;i++)
重复。添加(字母);
复赛
两个问题:

  • 您不是在打印已操纵的字符串,而是在打印以开头的原始字符串,即
    “dean”
    。要从StringBuilder打印字符串,可以使用

    系统输出打印项次(重复)

  • 您正在将整个单词
    “dean”
    添加到原始单词中,而不是添加单个字母/字符。您需要遍历原始单词中的每个字母,并将这些字母添加到空的
    StringBuilder
    。以下是您应该使用的基本逻辑:

    • 获取原始单词(“dean”)
    • 创建一个空的
      StringBuilder
    • 通过使用for循环并获取字符串中的每个字符,或者使用string.split并解析数组,解析原始单词(“dean”)的每个字母
    • 对于原始单词中的每个字母,将该字母与该字母一起附加n次到
      StringBuilder
    • 解析完原始单词中的所有字母后,从
      StringBuilder
      打印字符串
  • 两个问题:

  • 您不是在打印已操纵的字符串,而是在打印以开头的原始字符串,即
    “dean”
    。要从StringBuilder打印字符串,可以使用

    系统输出打印项次(重复)

  • 您正在将整个单词
    “dean”
    添加到原始单词中,而不是添加单个字母/字符。您需要遍历原始单词中的每个字母,并将这些字母添加到空的
    StringBuilder
    。以下是您应该使用的基本逻辑:

    • 获取原始单词(“dean”)
    • 创建一个空的
      StringBuilder
    • 通过使用for循环并获取字符串中的每个字符,或者使用string.split并解析数组,解析原始单词(“dean”)的每个字母
    • 对于原始单词中的每个字母,将该字母与该字母一起附加n次到
      StringBuilder
    • 解析完原始单词中的所有字母后,从
      StringBuilder
      打印字符串

  • 您只需为字符串中的每个字符添加n次字符串本身。您需要遍历字符串并将每个字符追加n次

    public static void repeatLetters()
    {
        String text = "dean";
        int n = 3;
        StringBuilder repeat = new StringBuilder();
        for (int i = 0; i < text.length(); i++) {
            for (int j = 0; j < n; j++) {
                repeat.append(text.charAt(i));
            }
        }
        System.out.println(repeat);
    }
    
    publicstaticvoidrepeatLetters()
    {
    字符串text=“dean”;
    int n=3;
    StringBuilder repeat=新建StringBuilder();
    对于(int i=0;i
    另外,另一个解决方案是使用正则表达式

    public static void repeatLetters()
    {
        String text = "dean", replace = "";
        int n = 3;
        for (int i = 0; i < n; i++) replace += "$1";
        System.out.println(text.replaceAll("(.)", replace));
    }
    
    publicstaticvoidrepeatLetters()
    {
    String text=“dean”,replace=“”;
    int n=3;
    对于(int i=0;i
    您只需为字符串中的每个字符添加n次字符串本身。您需要遍历字符串并将每个字符追加n次

    public static void repeatLetters()
    {
        String text = "dean";
        int n = 3;
        StringBuilder repeat = new StringBuilder();
        for (int i = 0; i < text.length(); i++) {
            for (int j = 0; j < n; j++) {
                repeat.append(text.charAt(i));
            }
        }
        System.out.println(repeat);
    }
    
    publicstaticvoidrepeatLetters()
    {
    字符串text=“dean”;
    int n=3;
    StringBuilder repeat=新建StringBuilder();
    对于(int i=0;i
    另外,另一个解决方案是使用正则表达式

    public static void repeatLetters()
    {
        String text = "dean", replace = "";
        int n = 3;
        for (int i = 0; i < n; i++) replace += "$1";
        System.out.println(text.replaceAll("(.)", replace));
    }
    
    publicstaticvoidrepeatLetters()
    {
    String text=“dean”,replace=“”;
    int n=3;
    对于(int i=0;i
    您得到了什么结果?我猜是“dean”,因为你打印的是你的原始文本,而不是你的构建文本。但是您的构建文本将返回“Deandean”,您是