package lianxi4;
//输出由全星组成的星形矩阵
public class Matrix2 {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= 5 - i; j++) {
System.out.print(" ");
}
for (int k = 1; k <= 2 * i - 1; k++) {/*
* 如果k从1到9的话。。
* 一共输出9个星。。一次输出一个。
* 因为i循环五次。所以一次输出5个星和要求就不一样了啊?
* 只有k从1到2i-1每次输出的星的数才是迭加的。
*/
System.out.print('*');
}
System.out.println();
}
for (int i = 4; i >= 1; i--) {
for (int j = 5 - i; j >= 1; j--) {
System.out.print(" ");
}
for (int k = 2 * i - 1; k >= 1; k--) {
System.out.print('*');
}
System.out.println();
}
}
}
这个是我自己写的。
当时k是从1到9,现在终于明白为什么输出不对了。
才发现这个贴子已经关了。嗯。可能是太弱智了吧。呵。
还有一道题是输出中间有空格组成的星,有此类问题的和我一样的可以看一下。。
package lianxi4;
//输出中间由空格组成的量形矩阵
public class NewMatrix {
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
for (int i = 1; i <= 5; i++) {// 前面五行
if (i == 1) {
System.out.print(" *");// 输出第一行的空格与星
} else {
for (int j = 1; j <= 5 - i; j++) {// 输出前面的空格
System.out.print(" ");
}
System.out.print('*');// 输出第一个星
for (int k = 1; k <= 2 * i - 3; k++) {// 输出中间的空格
System.out.print(" ");
}
System.out.print('*');// 输出第二个星
}
System.out.println();// 换行
}
for (int i = 4; i >= 1; i--) {// 下面四行
if (i == 1) {
System.out.print(" *");// 输出最后一行的空格和星
} else {
for (int j = 1; j <= 5 - i; j++) {// 输出前面的空格
System.out.print(" ");
}
System.out.print('*');// 输出第一个星
for (int k = 2 * i - 3; k >= 1; k--) {// 输出中间的空格
System.out.print(" ");
}
System.out.print('*');// 输出第二个星
}
System.out.println();// 换行
}
}
}