利用数学知识完成计算机编程。
例子:利用控制台输出指定宽度和高度的菱形。
package csdn;
/**
* 根据线性代数方式生成菱形
* Y
* ^
* *
* *
* *H
* * * *
* * * *
* * * *
* * * *
* * * *
* * * *
* * * *
* ******************************************》X
* -W* 0* * W
* * * *
* * * *
* * * *
* * * *
* * * *
* * * *
* *-H
* *
* *
*
* 如图,坐标系中四条直线围成的区域为菱形区域,即满足如下条件(线性代数都学过吧):
* X/W + Y/H <= 1.0
* X/W + Y/H >= -1.0
* X/W - Y/H >= -1.0
* X/W + Y/H <= 1.0
*
* @author : gaowei
* @time : 7:07:28 PM
* @email : com.gaowei@msn.com
* @description :
*/
public class Diamond
{
/**
* 根据菱形的宽和高化菱形
* draw
* @param W
* @param H
* 7:06:55 PM
*/
public void draw( int W, int H )
{
for (double Y = H; Y >= -H; Y--) {
for (double X = -W; X <= W; X++) {
if(X/W + Y/H <= 1.0
&& X/W + Y/H >= -1.0
&& X/W - Y/H >= -1.0
&& X/W - Y/H <= 1.0 ){
System.out.print( '*' );
}else {
System.out.print( ' ' );
}
}
System.out.println();
}
}
public static void main( String[] args )
{
Diamond diamond = new Diamond();
diamond.draw( 15 , 10 );
}
}