for語句輸出心形(java)的方法如下:
創新互聯專業為企業提供貢覺網站建設、貢覺做網站、貢覺網站設計、貢覺網站制作等企業網站建設、網頁設計與制作、貢覺企業網站模板建站服務,十多年貢覺做網站經驗,不只是建網站,更提供有價值的思路和整體網絡服務。
使用eclipse,創建一個Java文件命名為Test.java
2.系統自動建立Test類及主函數。
3.輸入以下代碼:
public class Test{
public static void main (String []args){
int k=5; ? ? ?//控制心型大小
for ( int i=0;i=k*2;i++){
for (int j=0;j=k*4;j++){
if (((i-k)*(i-k)+(j-k)*(j-k)==k*ki=k )||( (j-3*k)*(j-k*3)+(i-k)*(i-k)==k*ki=k)
||(((2*k-i)-2*k)*((2*k-i)-2*k)+(j-2*k)*(j-2*k)==k*k*4 ) )
{ if (i==0j==0||i==0j==k*4) System.out.print(" ");
else { ?System.out.print("*");}
}
else System.out.print(" ");
}
System.out.println();
}
}
}
4.保存并運行程序
擴展資料:
for 語句表達式:
表達式1:一般為賦值表達式,給控制變量賦初值;
表達式2:關系表達式或邏輯表達式,循環控制條件;
表達式3:一般為賦值表達式,給控制變量增量或減量。
用方程的話肯定輸出不會和你的圖完全一致
心形線方程如圖
用上面行第二個比較簡單,程序如下
#include?stdio.h
bool?draw(float?x,?float?y)
{
float?a?=?x?*?x?+?y?*?y?-?1.0;
float?b?=?x?*?x?*?y?*?y?*?y;
return?a?*?a?*?a?-?b?=?0;
}
int?main(int?argc,?char*?argv[])
{
for?(float?y?=?1.5;?y?=?-1.5;?y?-=?0.1)
{
for?(float?x?=?-1.2;?x?=?1.2;?x?+=?0.05)
{
if?(draw(x,?y))
{
bool?left?=?draw(x?-?0.05,?y);
bool?right?=?draw(x?+?0.05,?y);
bool?up?=?draw(x,?y?+?0.1);
bool?down?=?draw(x,?y?-?0.1);
if?(left??right??up??down)
printf("?");
else
printf("*");
}
else
printf("?");
}
printf("\n");
}
return?0;
}
draw函數是判斷(x,y)坐標是否在心形范圍內
主函數循環,y取值±1.5之間,步長0.1,x取值±1.2之間,步長0.05
如果(x,y)坐標在心形范圍外打印空格
如果(x,y)坐標在心形范圍內,由于這個心是空心的,要繼續判斷是不是心形邊緣,判斷周圍4個點坐標,如果都在范圍內,表示(x,y)坐標不會是邊緣,打印空格,否則是邊緣,打印星號
最終結果如圖
package com.zeph.j2se.alg;
public class Heart {
int HighLevel(int wide) {
int i = 0, j = 0, k = 0, t = 0, m = 0, n = 0, count = 1;// i控制循環內高度,j控制每行前面空格,k控制輸出的*數
// t控制高層星號中間空格,m記錄高層最底行的星數,以下逐行增4
// n記錄頂行空個數,以下逐行減4;count記錄高層高度,與high無關
m = (wide - 4) / 2;
do {
count++;
m -= 4;
} while (m 4);
if ((wide - 4) % 2 == 0)// 區別對待奇偶寬度,奇數中間最小空1個,偶數最小空兩個
{
n = 2 + 4 * (count - 1);
m--;
} else
n = 1 + 4 * (count - 1);
for (i = 0; i count; i++) {
for (j = (count - i) * 2; j 0; j--)
System.out.print(" ");
for (k = 0; k m; k++)
System.out.print("*");
for (t = 0; t n; t++)
System.out.print(" ");
for (k = 0; k m; k++)
System.out.print("*");
m += 4;
n -= 4;
System.out.print("\n");
}
return 0;
}
int LowLevel(int wide) {
int i = 0, j = 0, k = 0;// i控制輸出行,j控制輸出每行前的空格,k控制輸出*
int high = 0, tmp = wide;
do// 計算所需高度
{
high++;
tmp -= 4;
} while (tmp 4);
high += 1;
for (i = 0; i high; i++) {
for (j = 0; j 2 * i; j++)
System.out.print(" ");
for (k = wide - 4 * i; k 0; k--)
System.out.print("*");
System.out.print("\n");
}
return 0;
}
public static void main(String[] args) {
int wide = 30;
Heart heart = new Heart();
heart.HighLevel(wide);
heart.LowLevel(wide);
}
}
import java.util.Scanner;
public class test{
static void draw(int n)
{
int i,j;
for (i=1-(n1);i=n;i++)
if (i0)
{
for (j=0;ji;j++) System.out.print(" ");
for (j=1;j=2*(n-i)+1;j++)
if (j==1||j==2*(n-i)+1) System.out.print(" *");
else System.out.print(" ");
System.out.println("\n");
}
else
if (i==0)
{
System.out.print(" *");
for (j=1;jn;j++) System.out.print(" ");
System.out.print(" *");
for (j=1;jn;j++) System.out.print(" ");
System.out.print(" *\n");
}
else
{
for (j=i;j0;j++) System.out.print(" ");
for (j=1;j=n+2*i+1;j++)
if (i==1-(n1)) System.out.print(" *");
else if (j==1||j==n+2*i+1) System.out.print(" *");
else System.out.print(" ");
for (j=1;j=-1-2*i;j++) System.out.print(" ");
for (j=1;j=n+2*i+1;j++)
if (i==1-(n1)) System.out.print(" *");
else if (j==1||j==n+2*i+1) System.out.print(" *");
else System.out.print(" ");
System.out.print("\n");
}
}
public static void main(String[] args) {
System.out.println("Please input the size (n=4):");
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
draw(n);
}
}先說明這個不是我寫的 是看了有人用C語言寫的 就順便改成了java 結果有點像愛心 還湊合著 你看看怎么樣吧 哈
當前文章:java代碼打印愛心 如何用java畫愛心
文章分享:http://vcdvsql.cn/article8/hpipip.html
成都網站建設公司_創新互聯,為您提供服務器托管、網站收錄、網站設計公司、App開發、自適應網站、做網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯