?
問題: 在屏幕上用*顯示0°~360°的余弦函數cos(x)函數
分析: 余弦曲線在0°~360°的區間內,一行中要顯示兩個點;而對一般的顯示器來說,只能按行輸出,即:輸出第一行信息后,只能向下一行輸出,不能再返回到上一行.為了獲得本題要求的圖形就必須在一行中一次順序輸出兩個*.
算法: 為了同時得到余弦函數cos(x)圖形在一行上的兩個點,考慮利用cos(x)的左右對稱性.將屏幕的行方向定義為x,列方向定義為y,則0°~180°的圖形與180°~360°的圖形是左右對稱的.若定義圖形的總寬度為62列,計算出x行0°~180°時y點的坐標m,那么在同一行與之對稱的180°~360°的y點的坐標就應為62-m.程序中利用反余弦函數acos計算坐標(x,y)的對應關系.
?
實現程序:
?
/* @TODO 繪制余弦曲線 @author jarg http://jarg.iteye.com/ */ import static java.lang.System.*; import static java.lang.Math.*; public class COS { private static final int MULTI = 12; // 圖形放大倍數 private static final int LEN = (int)(acos(-1)*MULTI)*2; // 圖形橫坐標長度 private static int X; // 橫坐標 private static int Y; // 縱坐標 public static void main(String[] args) { display(); } public static void display() { for(Y=10; Y>=-10; Y--) { X = (int)(acos((double)Y/10)*MULTI); for(int m=0; m<X; m++) { out.print(" "); } out.print("*"); for(int n=X; n<LEN-X; n++) { out.print(" "); } out.println("*"); } } }??
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
