求一个java程序,这次说清楚点,是字母组成的菱形,要求第一行是A第二行是BC,第三行是DEF,一直到第四行

第五行又开始依次减少,这次够清楚了,一定要是菱形
要用for循环。。。。

public class Test {

    public static void main(String[] args) {

analyzeAddition(5, true);

analyzeAddition(5, false);

    }

    /**

     * <p>

     * 打印菱形

     * </p>

     * 

     * @param boundary

     *            菱形增大的最大行数

     * @param addtional

     *            在达到最大行数之后,开始缩小,而字母是否继续增大,true为继续增大,false为从最大字母开始减小

     */

    static void analyzeAddition(int boundary, boolean addtional) {

char start = 'A';

for (int i = 1; i <= boundary; i++) {

    // 输出需要填充的空格数

    for (int j = 0; j < boundary - i; j++) {

System.out.print(' ');

    }

    for (int j = 0; j < i; j++) {

System.out.print(start++ + " ");

    }

    System.out.println();

}

start--;

for (int i = boundary - 1; i > 0; i--) {

    for (int j = 0; j < boundary - i; j++) {

System.out.print(' ');

    }

    for (int j = i; j >= 1; j--) {

System.out.print(addtional ? ++start + " " : --start + " ");

    }

    System.out.println();

}

    }

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-03

package collections;

import java.util.ArrayList;

import java.util.List;

public class ssdss

{

public static void main(String[] args)

{

List<String> list = new ArrayList<String>();

list.add("   A");

list.add("  B C");

list.add(" D E F");

list.add("G H I J");

for (int i = 0; i < 4; i++) {

System.out.println(list.get(i));

}

for (int i = 2; i >= 0; i--) {

System.out.println(list.get(i));

}

追问

很抱歉,刚才忘了写要用循环语句

相似回答