使用java打印心型、圓形圖案的實(shí)現(xiàn)代碼
相信對于打印三角形都沒什么難度,只需要利用for循環(huán)嵌套使用就行
但是對于打印圓形和三角形不同因?yàn)榈綀A心距離相等的點(diǎn)一般不會橫坐標(biāo)和縱坐標(biāo)都為整數(shù)
打印愛心
愛心的公式 (x²+y²-1)³-x²*y³=0
調(diào)用此方法即可打印愛心圖案
/** *打印心形 */ public static void aiXin(){ for(float y = (float) 1.5;y>-1.5;y -=0.1) { for(float x= (float) -1.5;x<1.5;x+= 0.05){ float a = x*x+y*y-1; if((a*a*a-x*x*y*y*y)<=0.0) { System.out.print("^"); } else System.out.print(" "); } System.out.println(); } }
打印圓形
打印圓形主要就是所有點(diǎn)到圓心的距離為半徑即可
public static void circle(){ int r=15;//圓形的半徑 for (int y = 0; y <= 2 * r; y += 2) {//y的步長為2,改變y的步長可以將圓形變成橢圓 int x = (int)Math.round(r - Math.sqrt(2 * r * y - y * y)); int len = 2 * (r - x); for (int i = 0; i <= x; i++) { System.out.print(' '); } System.out.print('*'); for (int j = 0; j <= len; j++) { System.out.print(' '); } System.out.println('*'); } }
效果如下
如果想打印實(shí)心的只需要把條件修改即可
for (int j = 0; j <= len; j++) { System.out.print('*'); }
此循環(huán)是打印圓形里面部分,輸出字符就是實(shí)心圓
補(bǔ)充知識:在Java中打印金字塔圖案
1、問題描述
打印出金字塔圖案,如圖1所示。
2、問題分析
這時一個很經(jīng)典的循環(huán)應(yīng)用的問題。我們都知道,打印輸出的時候,都是從
最左端輸出,而這里第一個三角形符號是在最中間,這實(shí)際是因?yàn)槿切沃坝泻芏嗫崭?。?dāng)我們使用圓圈來表示空格,實(shí)際的輸出效果應(yīng)該是圖2的形式。
分析圖2,我們可以發(fā)現(xiàn)這個題目的奧秘。
(1) 確定程序框架
程序框架代碼如下:
publicclass Ch1_1 { public static void main(String[] args) { ********* for(i = 1; i<= 5; i++) //循環(huán)5次,打印5行 { //打印若干空格 //打印若干符號 } } }
(2) 尋找空格和符號規(guī)律
表1 空格和符號規(guī)律
行數(shù) |
空格數(shù) |
符號數(shù) |
||
1 |
4 |
5-1 |
1 |
1*2-1 |
2 |
3 |
5-2 |
3 |
2*2-1 |
3 |
2 |
5-3 |
5 |
3*2-1 |
4 |
1 |
5-4 |
7 |
4*2-1 |
5 |
0 |
5-5 |
9 |
5*2-1 |
規(guī)律 |
依次遞減1 |
5-行數(shù) |
依次遞增2 |
行數(shù)*2-1 |
(3) 打印空格數(shù)
由于每行空格數(shù)有“5-行數(shù)”的規(guī)律,對應(yīng)代碼如下:
for(i =1; i<= n; i++) { for(j = 1; j <= n – i; j++) //根據(jù)外層行號,輸出符號左邊空格 System.out.println(“ ”); }
(4) 打印符號數(shù)
由于每行符號數(shù)有著“行數(shù)*2-1”的規(guī)律,對應(yīng)代碼如下:
for(i =1; i<= n; i++) { for(k = 1; j <= i * 2 -1; k++) //根據(jù)外層行號,輸出符號數(shù) System.out.println(“*”); }
(5) 完整程序
importjava.util.Scanner; publicclass Ch1_1 { public static void main(String[] args) { int i, j, k, n; Scanner input = new Scanner(System.in); System.out.print("請輸入金字塔層數(shù):"); n = input.nextInt(); //外層循環(huán)控制層數(shù) for(i = 1; i <= n; i++) { //根據(jù)外層行號,輸出星號左邊的空格 for(j = 1; j <= n - i; j++) System.out.printf(" "); //根據(jù)外層行號,輸出星號個數(shù) for(k = 1; k <= 2 * i -1; k++) System.out.print("*"); //一行結(jié)束,換行 System.out.print("\n"); } } } /* *注:Java中的print、printf、println */
程序運(yùn)行結(jié)果,見圖3。
(6) 擴(kuò)展
倒金字塔
importjava.util.Scanner; publicclass Ch1_1 { public static void main(String[] args) { int i, j, k, n; Scanner input = new Scanner(System.in); System.out.print("請輸入倒金字塔層數(shù):"); n = input.nextInt(); //外層循環(huán)控制層數(shù) for(i = 1; i <= n; i++) { //根據(jù)外層行號,輸出星號左邊的空格 for(j = 1; j <= i - 1; j++) System.out.printf(" "); //根據(jù)外層行號,輸出星號個數(shù) for(k = 1; k <= 2 * (n - i) -1;k++) System.out.print("*"); //一行結(jié)束,換行 System.out.print("\n"); } } }
直角三角形
importjava.util.Scanner; publicclass Ch1_1 { public static void main(String[] args) { int i, j, k, n; Scanner input = new Scanner(System.in); System.out.print("請輸入直角三角形層數(shù):"); n = input.nextInt(); //外層循環(huán)控制層數(shù) for(i = 1; i <= n; i++) { //根據(jù)外層行號,輸出星號個數(shù) for(k = 1; k <= n - i + 1; k++) System.out.print("*"); //一行結(jié)束,換行 System.out.print("\n"); } } }
以上這篇使用java打印心型、圓形圖案的實(shí)現(xiàn)代碼就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
解決zuulGateway網(wǎng)關(guān)添加路由異常熔斷問題
這篇文章主要介紹了解決zuulGateway網(wǎng)關(guān)添加路由異常熔斷問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10Java+MySQL實(shí)現(xiàn)圖書管理系統(tǒng)(完整代碼)
這篇文章主要介紹了Java+MySQL實(shí)現(xiàn)圖書管理系統(tǒng)(完整代碼),本文給大家介紹的非常想詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01SpringBoot屬性綁定與bean屬性校驗(yàn)實(shí)現(xiàn)方法詳解
這篇文章主要介紹了SpringBoot屬性綁定與bean屬性校驗(yàn)實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-11-11一步步教你JAVA如何優(yōu)化Elastic?Search
想要榨干Java操作Elasticsearch的所有性能潛力?本指南將一步步教你如何優(yōu)化Java與Elasticsearch的交互!從此,提升ES查詢速度、降低資源消耗不再是難題,趕快一起來探索Java?Elasticsearch優(yōu)化的秘訣吧!2024-01-01Java雜談之類和對象 封裝 構(gòu)造方法以及代碼塊詳解
在現(xiàn)實(shí)世界中,真實(shí)存在的東西,比如吉普車,卡丁車,貨車。我們在認(rèn)識它的時候就會在腦海中將它抽象為一種類別叫做車。 好了,那再計算機(jī)世界中,它同樣的也會這樣做2021-09-09SSh結(jié)合Easyui實(shí)現(xiàn)Datagrid的分頁顯示
這篇文章主要為大家詳細(xì)介紹了SSh結(jié)合Easyui實(shí)現(xiàn)Datagrid的分頁顯示的相關(guān)資料,感興趣的小伙伴們可以參考一下2016-06-06