怎么使用多层循环打印出爱心 哪位大侠教下,多层for循环打印出一个爱心来。最好可以自定义输入的。类似这个:http://zhidao.baidu.com/question/208097762.html他这个是用C写的感觉有点复杂。谁能给我写个java的。最好加点注释。 thank 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我觉得,写程序实现的话,两类: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(“*”);你在纸上画点格子然后在格子里面画个心,就可以自己写出程序了 自定义大小 http://zhidao.baidu.com/question/208097762.html 就是这种形式的,但我要的是java代码。不需要位运算符,我不怎么看得懂。感觉好复杂。 爱心 不规则图形,循环打出来我还真不会。多个println 还行。 用输入法在txt里打个♥。用IO读出来,输出。 JAVA将CLOB类型的照片文件以图片方式写入到本地 当单击菜单栏中某项时,如何调用已经写好的Dialog 如何用swing实现图中对文本框的输入提示效果? java点击按钮后改变球体数量 关于GridBagLayout的问题!! 关于class.forNname 关于包和导入的问题!急!在线等待! maven 子项目如何使用父项目的jar包 请点拨一下!!! 我在jbuilder中编译带有swing awt之类要显示菜单项的程序编译通过,但运行却什么都不显示,为什么? 关于Hibernate连接sqlserver 2008的问题 Swing 中 鼠标事件捕获的 精度 问题
1、用函数计算一个爱心出来;
2、直接列表显示。类似这样(丑了点,大概是这个意思):
System.out.println(" ** **");
System.out.println(" * * *");
System.out.println(" * *");
System.out.println(" * *");
System.out.println(" *");
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); }
}
自定义大小 http://zhidao.baidu.com/question/208097762.html 就是这种形式的,但我要的是java代码。不需要位运算符,我不怎么看得懂。感觉好复杂。
多个println 还行。
用IO读出来,输出。