黑马程序员技术交流社区

标题: 打印此图,求更多更好的方法? [打印本页]

作者: houyunjuan    时间: 2015-3-26 20:43
标题: 打印此图,求更多更好的方法?
初学java,求大家指点好的方法?一起交流进步

六边形.png (577 Bytes, 下载次数: 32)

六边形

六边形

20.png (65.98 KB, 下载次数: 27)

myway

myway

作者: Dyna    时间: 2015-3-26 21:23
我来打印个菱形吧!
/**
需求:打印菱形
*/

class ShapeDemo
{
        public static void main(String[] args)
        {
                shape(6);
        }
        public static void shape (int a)
        {
                //外循环控制行
                for (int i = 0;i <a ;i++ )
                {
                        //控制每行打印空格个数
                        for (int j = 0;j<a-i ;j++ )
                        {
                                //打印空格
                                System.out.print(" ");
                        }
                        //控制每行打印*的个数
                        for (int x = 0;x<=i ;x++ )
                        {
                                //打印*,*后面加空格可排列出等腰形状
                                System.out.print("*"+" ");
                        }
                        //打印每行后换行
                        System.out.println();
                }
                for (int i=a-1;i>0 ;i-- )
                {
                        for (int j = 0;j <=a-i ;j++ )
                        {
                                System.out.print(" ");
                        }
                        for (int x = 0;x<i ;x++ )
                        {
                                System.out.print("*"+" ");
                        }
                        System.out.println();
                }
               
        }
}


               
作者: 小十    时间: 2015-3-26 22:18
  1. public class DeMo3 {

  2.         /**
  3.          * 菱角图形的打印方法。
  4.          */
  5.         public static void main(String[] args) {
  6.                 // TODO Auto-generated method stub
  7.                 Geometry(4);


  8.         }

  9.         private static void Geometry(int i) {
  10.                 // TODO Auto-generated method stub
  11.                 for(int x = 1; x<=i; x++){
  12.                         for(int y = i-x; y>=1; y--){
  13.                                 System.out.print(" ");
  14.                         }
  15.                         for(int z = 0; z<x;z++){
  16.                                
  17.                                 System.out.print("* ");
  18.                         }
  19.                         System.out.println();
  20.                 }
  21.                 for(int x = 1; x<=i; x++){
  22.                         for(int y = 1; y<=x; y++){
  23.                                 System.out.print(" ");
  24.                         }
  25.                         for(int z=x;z<i;z++){
  26.                                
  27.                                 System.out.print("* ");
  28.                         }
  29.                         System.out.println();
  30.                
  31.         }
  32.         }
  33. }
复制代码

封装连个方法一个正着打印一个倒着打印就行了...
作者: Grady    时间: 2015-3-26 23:02
算法都一样。。。
作者: 佐佑    时间: 2015-3-26 23:06
还是用循环嵌套的吧




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