黑马程序员技术交流社区
标题:
(已解决)输出正弦函数的图形
[打印本页]
作者:
long
时间:
2013-5-15 13:51
标题:
(已解决)输出正弦函数的图形
本帖最后由 long 于 2013-5-18 14:29 编辑
请问如何用java编写一个输出正弦函数图形的小程序?(图形是一条用星号*排列而成的波浪形曲线,0至360度即可)
作者:
殇_心。
时间:
2013-5-18 12:58
//图像勉强可以看了。
//没用到java的绘图,简单的描点打印
public class Demo
{
public static void main(String[] args)
{
show();
}
public static void show()//打印 y = sin(x)
{
double y;//定义一个y值,与函数y值对应
int i, j;//循环变量
int x;//定义一个x值,与函数x值对应
for( y = 1; y >= -1; y -= 0.1 )// y = sin(x); 已知y在[-1,1]
{
if( y >= 0 ) //y大于0
{
x = (int)(Math.asin(y)*10);//利用asin()方法,得出x,并乘以10( 便于绘图 ,如: sin(3.14) ≈ 0 )
for( j = 1; j < x; j++ ) //当小于x的都打印空格
System.out.print(" ");
System.out.print("*"); //等于x的时候打印*
for(; j < 31-x; j++) //最大x等于31(原因很简单,不解释),对称打印。以31为中轴
System.out.print(" ");
System.out.println("*");//对称的位置打印*
}
else //同理
{
x = (int)(-1*Math.asin(y)*10);
for( i = 0; i < 32; i++ )
System.out.print(" ");
for( j = 1; j < x; j++ )
System.out.print(" ");
System.out.print("*");
for( ; j < 31-x; j++ )
System.out.print(" ");
System.out.println("*");
}
}
}
}
复制代码
作者:
long
时间:
2013-5-18 14:28
神人啊!谢谢!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2