
终于搞定了,for循环的*的菱形的 java程序
public static void main(String args[]){
int i,j;
for(i=1;i<=7;i++){
for(j=1;j<=7;j++){
if(i+j==5||j-i==3||i-j==3||i+j==11){
System.out.print("*");
}
else{
System.out.print(" ");
}
}
System.out.println();
}
}
} 展开
2016-01-08 · 做真实的自己 用良心做教育

思路:
* 第1行 空格数3(4-1) 星星数1(1*2-1)
*** 第2行 空格数2(4-2) 星星数3(2*2-1)
***** 第3行 空格数1(4-3) 星星数5(3*2-1)
******* 第4行 空格数0(4-4) 星星数7(4*2-1)
通过以上思路就可以打印出菱形
代码:
public class Lin {
public static void main(String[] args) {
// TODO 自动生成的方法存根
int i,j,k;
for(i=0;i<5;i++) //控制行
{
for(j=0;j<5-i;j++) //控制空格
System.out.print(" ");
for(k=0;k<2*i-1;k++) //控制*号输出
System.out.print("*");
System.out.print("n");
}
for(i=3;i>0;i--)
{
for(j=0;j<5-i;j++)
System.out.print(" ");
for(k=0;k<2*i-1;k++)
System.out.print("*");
System.out.print("n");
}
}
}
循环范围从 1~7 改成 -3~3, 判断条件简化为 Math.abs(i)+Math.abs(j)==3
public class PicTure {
public static void main(String[] args)
{
for(int i=1;i<=6;i++)
{
for(int k=1;k<=6-i;k++)
{
System.out.print(" ");
}
for(int j=1;j<=(2*i-1);j++)
{
if(j==1||j==(2*i-1))
{
System.out.print("*");
}
else{
System.out.print(" ");
}
}
System.out.println();
}
for(int i=5;i>=1;i--)
{
for(int k=1;k<=6-i;k++)
{
System.out.print(" ");
}
for(int j=1;j<=(2*i-1);j++)
{
if(j==1||j==(2*i-1))
{
System.out.print("*");
}
else{
System.out.print(" ");
}
}
System.out.println();
}
}
}