首页 > 解决方案 > 如何重复每个字符重复次数减少的字符串?

问题描述

啊,是的,我又带着另一个 Java 问题回来了。所以在这里我应该重复一个字符串,其中它的字符重复次数越来越少。第一个字符应该重复字符串长度的次数。

以下是输出应如下所示的示例:

HHHHH
oooo
www
dd
y

根据我在下面编写的代码,我接下来应该做什么?

String go( String a) 
{
  String y = "";
  for (int i = 0; i < a.length(); i++)
  {
    for (int j = 0; j < a.length(); j++)
    {
      y = y + a.charAt(i);
    }
    if (i == a.length() - 1)
    {
      y = y + "";
    }
    else
    {
      y = y + "\n";
    }
  }
  return y;
}

随意指出我犯的任何明显错误。我是 Java 新手,刚刚了解到 Java 和 Javascript 不是一回事!

标签: java

解决方案


我们可以维护两个计数器——一个用于从字符串中提取字符(characterLoc),另一个用于指定字符重复的次数(repCount)。

外部while循环用于提取字符,内部循环用于将提取的字符重复指定次数。

public static void main(String[] args) {
    String str = "Howdy";
    int characterLoc = 0;
    int repCount = str.length();

    while (characterLoc < str.length()) {
        for (int x = repCount; x > 0; x--) {
            System.out.print(str.charAt(characterLoc));
        }
        characterLoc++;
        repCount--;
        System.out.println();
    }
}

推荐阅读