当前位置:编程学习 > JAVA >>

怎么使用多层循环打印出爱心

哪位大侠教下,多层for循环打印出一个爱心来。最好可以自定义输入的。
类似这个:http://zhidao.baidu.com/question/208097762.html
他这个是用C写的感觉有点复杂。谁能给我写个java的。最好加点注释。 
thank --------------------编程问答-------------------- 我觉得,写程序实现的话,两类:
1、用函数计算一个爱心出来;
2、直接列表显示。

类似这样(丑了点,大概是这个意思):
System.out.println("  ** **");
System.out.println(" *  *  *");
System.out.println("  *   *");
System.out.println("   * *");
System.out.println("    *"); --------------------编程问答-------------------- 看了你那个连接,就是JAVA写的啊。


import java.util.Scanner;

public class Test {

static void draw(int n) {
int i, j;
for (i = 1 - (n >> 1); i <= n; i++)
if (i > 0) {
for (j = 0; j < i; 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; j < n; j++)
System.out.print("  ");
System.out.print(" *");
for (j = 1; j < n; j++)
System.out.print("  ");
System.out.print(" *\n");
} else {
for (j = i; j < 0; j++)
System.out.print("  ");
for (j = 1; j <= n + 2 * i + 1; j++)
if (i == 1 - (n >> 1))
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 - (n >> 1))
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);

}
}
--------------------编程问答-------------------- 这心形还是直接 用 指令 数据 打得简单一点啊。。。循环写得好多 --------------------编程问答-------------------- 无非就是用System.out.print(“*”);

你在纸上画点格子然后在格子里面画个心,就可以自己写出程序了 --------------------编程问答-------------------- 你想自定义输入什么?输入大小还是可能输入其他形状。。。

引用楼主 wel_sky 的回复:
哪位大侠教下,多层for循环打印出一个爱心来。最好可以自定义输入的。
类似这个:http://zhidao.baidu.com/question/208097762.html
他这个是用C写的感觉有点复杂。谁能给我写个java的。最好加点注释。 
thank
--------------------编程问答--------------------
引用 5 楼 flagiris 的回复:
你想自定义输入什么?输入大小还是可能输入其他形状。。。

引用楼主 wel_sky 的回复:
哪位大侠教下,多层for循环打印出一个爱心来。最好可以自定义输入的。
类似这个:http://zhidao.baidu.com/question/208097762.html
他这个是用C写的感觉有点复杂。谁能给我写个java的。最好加点注释。
thank


自定义大小 http://zhidao.baidu.com/question/208097762.html 就是这种形式的,但我要的是java代码。不需要位运算符,我不怎么看得懂。感觉好复杂。 --------------------编程问答-------------------- 数学里的解析几何中,专门有心形的解析表达式。百度一下就有了。改造一下就行了。。。 --------------------编程问答-------------------- 爱心 不规则图形,循环打出来我还真不会。
多个println 还行。 --------------------编程问答-------------------- 好无聊的话题。。。貌似学校里面老师总喜欢弄这个 --------------------编程问答--------------------
引用 3 楼  的回复:
这心形还是直接 用 指令 数据 打得简单一点啊。。。循环写得好多


那具体程序要怎么写呢我就是这个程序不会写。 --------------------编程问答-------------------- http://mikecoder.net/?post=9 --------------------编程问答-------------------- 不知到是否符合你的要求。 --------------------编程问答-------------------- 用输入法在txt里打个♥。
用IO读出来,输出。 --------------------编程问答--------------------
引用 4 楼 X497347200 的回复:
无非就是用System.out.print(“*”);

你在纸上画点格子然后在格子里面画个心,就可以自己写出程序了
好有爱心....
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,