0

forループのみを使用してこのシーケンスを生成するにはどうすればよいですか?

***+++------+++***

このようにしてみましたが、うまくいきません

String u ="";
for(i=1;i<3;++i)
{
    u = u + "***" + "+++" + "---";
}

System.out.println(u);
4

1 に答える 1

5

さて、あなたはこれを行うことができます:

for (int i = 1; i < 2; ++i) {
    System.out.println("***+++------+++***");
}

しかし、おそらくそれはあなたが望むものではありません。これはどう:

String symbols = "*+-";
for (int s = 0; s < symbols.length(); ++s) {
    char c = s.charAt(s);
    for (int i = 0; i < 3; ++i) {
        System.out.print(c);
    }
}
for (int s = symbols.length() - 1; s >= 0; --s) {
    char c = s.charAt(s);
    for (int i = 0; i < 3; ++i) {
        System.out.print(c);
    }
}
System.out.println();

またはそうでなければ:

String symbols = "*+-";
int len = symbols.length();
StringBuilder output = new StringBuilder();
for (int s = 0; s < len; ++s) {
    char c = s.charAt(s);
    for (int i = 0; i < 3; ++i) {
        output.append(c);
    }
}
System.out.print(output);
System.out.println(output.reverse());

あるいは:

String symbols = "*+-";
int len = symbols.length();
StringBuilder prefix = new StringBuilder();
StringBuilder suffix = new StringBuilder();
for (int s = 0; s < len; ++s) {
    char c1 = s.charAt(s);
    char c2 = s.charAt(len - 1 - 1);
    for (int i = 0; i < 3; ++i) {
        prefix.append(c1);
        suffix.append(c2);
    }
}
System.out.print(prefix);
System.out.println(suffix);
于 2012-11-09T17:18:40.857 に答える