黑马程序员技术交流社区

标题: 输出菱形,错在哪呢 [打印本页]

作者: langmb    时间: 2015-3-16 23:55
标题: 输出菱形,错在哪呢
class Sanjiaoxing_2{
void lingxing(){
  for(int x=0;x<7;x++){
   for(int y=x;y<7;y++){
    System.out.print(" ");
   }
   for(int z=0;z<=x;z++){
    System.out.print("* ");
   }
   System.out.println();
  }
  for(int m=0;m<=5;m++){
   for(int y=0;y<=m;y++){
    System.out.print("-");
   }
   for(int z=m;z<=6;z++){
    System.out.print("* ");
   }
   System.out.println();
  }
}
}
public class dengbiansanjiaoxing {
public static void main(String [] args){
  Sanjiaoxing_2 s2=new Sanjiaoxing_2();
  s2.lingxing();
}
}

作者: 殷俊    时间: 2015-3-17 00:27
class Sanjiaoxing_2{
void lingxing(){
  for(int x=0;x<7;x++){
   for(int y=x;y<7;y++){
    System.out.print(" ");
   }
   for(int z=0;z<=x;z++){
    System.out.print("* ");
   }
   System.out.println();
  }
  for(int m=0;m<=5;m++){
   for(int y=0;y<=m+1;y++){//倒三角的第一行的空白要从打印两个空开始
    System.out.print(" ");
   }
   for(int z=m;z<=5;z++){//倒三角少打印一行
    System.out.print("* ");
   }
   System.out.println();
  }
}
}
public class dengbiansanjiaoxing {
public static void main(String [] args){
  Sanjiaoxing_2 s2=new Sanjiaoxing_2();
  s2.lingxing();
}
}

首先,你如果要打印菱形,那么你要先确定把哪个三角形的边当做菱形的中轴线,如果是上面的正三角形的话,那么下面的倒三角形就要少打印一行,所以就是“z<=5”;那么倒三角形的第一行就必须是从两个空格开始,而不是一个,所以倒三角形的y值就要“y<=m+1”




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2