-1

必要な出力に示されているように空白を挿入したい

input string :abc

必要な出力:

abcabc
ab--bc
a----c

しかし、私のものは次のとおりです。

abcabc
abbc
ac

public static void triangle(String s){

    int length = s.length();

    for(int i=0;i<2*length;i++){
        System.out.println();

        for(int j=0;j<length-i;j++){
            System.out.print(" "+s.charAt(j));
        }                   
        for(int k=i;k<length;k++){
            System.out.print(" "+s.charAt(k));      
        }    
    }
}
4

2 に答える 2

1

またはループ用:)

for (int i = 0; i < s.length(); i++) {
    for (int j = 0; j < s.length()-i; j++) {
        System.out.print(s.charAt(j));
    }
    for (int j = s.length()-i; j < s.length(); j++) {
        System.out.print(" ");
    }
    for (int j = 0; j < i; j++) {
        System.out.print(" ");
    }
    for (int j = i; j < s.length(); j++) {
        System.out.print(s.charAt(j));

    }
    System.out.println("");
}
于 2013-03-29T16:29:45.287 に答える
1
    public static void triangle(String s){
    int length = s.length();
    for(int i=0;i<length;i++){
        System.out.println();
        int j=0;
            while(j<length-i){
                System.out.print(s.charAt(j));
                j++;
            }
            while(j<length){
                System.out.print(" ");
                j++;
            }
        int k=0;
        while(k<i){
            System.out.print(" ");
            k++;
        }
        while(k<length){
                System.out.print(s.charAt(k));
                k++;
        }
 }}

while ループの下に置きます。

于 2013-03-29T12:14:33.177 に答える