public class Var_02 {
public static void main(String args[]){
for(int i=1;i<=7;i+=2){
for(int kong=7;kong>i-1;kong--){
System.out.print(" ");
}
for(int xing=1;xing<=i;xing++){
System.out.print("* ");
}
System.out.println();
}
for(int j=1;j<=5;j+=2){
for(int kong1=1;kong1 System.out.print(" ");
}
for(int xing1=5;xing1>=j;xing1--){
System.out.print("* ");
}
System.out.println();
}
}
}
上面程序是一个画菱形的程序,求高手给解决下做这样的程序的思路!~~~ 希望能把每步为何要这样做解释清楚。
估计是一个新人,想想最开始学习时,也有类似的学习情况,就顺便说一下吧,不知是不是你想要的:
public class Var_02 {
public static void main(String args[]) {
//这是打上面4行的循环
for (int i = 1; i <= 7; i += 2) {//这个循环的条件是为了每增加一行控制*的递增的个数(2)和行数(4行)
for (int kong = 7; kong > i - 1; kong--) {//这个循环的条件是为了打多少个空格后再开始打*
System.out.print(" ");
}
for (int xing = 1; xing <= i; xing++) {//这个循环的条件是为了打多少个*
System.out.print("* ");
}
System.out.println();//这个为了每打一行后空一行隔开
}
//这是打下面3行的循环
for (int j = 1; j <= 5; j += 2) {//这个循环的条件是为了每增加一行控制*的递减的个数(2)和行数(3行)
for (int kong1 = 1; kong1 < j + 3; kong1++) {//这个循环的条件是为了打多少个空格后再开始打*
System.out.print(" ");
}
for (int xing1 = 5; xing1 >= j; xing1--) {//这个循环的条件是为了打多少个*
System.out.print("* ");
}
System.out.println();//这个为了每打一行后空一行隔开
}
}
}
这么简单的问题你还问,你去GOOGLE上搜索吧,或者是断点调试