`
wuqiwei
  • 浏览: 21193 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

黑马程序员—函数练习

 
阅读更多

------- android培训java培训、期待与您交流! ----------

 

class functiontest//函数的练习 
{
	public static void main(String[] args) 
	{
/*
需求:1.定义一个功能 用于打印矩形(4行5列)
	
	* * * * *
	* * * * *
	* * * * *
	* * * * *
*/
		for (int x=0;x<4 ;x++ )
	{
		for (int y=0;y<5; y++)  //矩形 使x,y同增即可
		{
			System.out.print("* ");
		}
		System.out.println();
	}

    	System.out.println("---------------需求1-----------------");
/*
需求 1 附加:打印上图的一半 不是规律的规律:只有行数小于列数 才能打印 否则不行								
	
	上例是:			 其一半为
					
	* * * * * 			* 
	* * * * *			* * 			   
	* * * * *			* * *
	* * * * *			* * * *
	
	如果是:(行数大于列数)  那么其一半就不会呈现递减趋势了

	* * * * 
	* * * *
	* * * *
	* * * *
	* * * *
*/

//老师以前的方法:(以尖朝上为例)
		for (int x=0;x<4;x++ )
		{
			for (int y=0;y<=x ;y++)//尖朝上
			{
				System.out.print("* ");
			}
			System.out.println();
		}
			System.out.println();

//自己的方法:
		for (int x=4;x>0;x-- )
		{
			for (int y=4;y>=x ;y--)//尖朝上 "5 5 0 x - -"
			{
				System.out.print("* ");
			}
			System.out.println();
		}

System.out.println("---------------需求1 附加-----------------");	
	

//利用函数解决打印多个矩形的问题 函数模型如下

	for (int x=3;x>0 ;x-- )
	{
		for (int y=4; y>0;y--)
		{
			System.out.print("* ");
		}
		System.out.println();		
	}
	System.out.println("--------------函数模型--------------");

	draw(6,7);//不能丢;
	draw(3,9);
	draw(5,35);
	printf99();
	printz99();
	}	
 /*
思路:1.没有运算结果 直接是打印出来的结果
	 2.有未知量参与 行列在用户调用的时候不确定
所以

	修饰符 返回值类型 函数名(参数类型 形式参数1(变量),参数类型 形式参数2)
	{
			执行语句;
			return 返回值;
	}

将格式一一对应为:

*/
	public static void draw(int row,int col )

	{                                       //函数的大括号不能丢!!
		for (int x=row;x>0 ;x-- )
		{
			for (int y=col; y>0;y--)
			{
				System.out.print("* ");
			}
			System.out.println();
		}
			System.out.println("------------------我是分割线-------------------");
		  //这个得写在函数或者主函数里了 写在这里就会在每打印完一个图形就 在末尾添上这个
		  //这个方法貌似比老师另外再定义一个虚线的函数简单 嘿嘿 偷笑....
	}
	
/*
需求2.定义一个打印99乘法表功能的函数。
思路:1.功能的结果 是直接打印出来 所以没有返回值类型 用void
	 2.没有未知量参与 直接是99乘法表 所以没有参数类型 即函数名称后的括号是空的
*/

//先来个反的:
public static void printf99()
	{
		for (int x=9;x>=1 ;x-- )
		{
			for (int y=x;y>=1 ;y-- )
			{
				System.out.print(y+"*"+x+"="+y*x+"\t");
			}
			System.out.println();
		}
System.out.println("------------------我是分割线-------------------");
	}
//再来个正的
public static void printz99()
	{
		for (int x=1;x<=9 ;x++ )
		{
			for (int y=1;y<=x ;y++ )
			{
				System.out.print(y+"*"+x+"="+y*x+"\t");
			}
			System.out.println();
		}
	}


}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics