求java算法大全(打印图形)!! 最近在学习java的过程中做到了一些有关java程序答应图形的题目,感觉做起来很有意思,当然也挺有难度,所以我来这里想向大家征集有关的题目和解法,希望大家各抒己见,多多发言!谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是用“*”呢,还是使用 Graphic 画图? public static void main(String[] args) { int LINE = 11; // 菱形的行数 // 因为菱形的行数不能是偶数,要转为奇数 LINE = (LINE & 1) == 0 ? LINE + 1 : LINE; PrintStream out = System.out; // 方法一:使用 JDK 1.5 的格式化输出 out.printf("%" + (LINE + 1) / 2 + "s%n", "*"); for (int i = 0 - (LINE - 2) / 2; i <= (LINE - 2) / 2; i++) { out.printf("%1$" + (Math.abs(i) + 1) + "s%1$" + 2 * (LINE / 2 - Math.abs(i)) + "s%n", "*"); } out.printf("%" + (LINE + 1) / 2 + "s%n", "*"); // 方法二:代码最少 for (int i = 0 - LINE / 2; i <= LINE / 2; i++) { for (int j = 0 - LINE / 2; j <= LINE / 2; j++) { // 把 == 改成 <= 或 >= ,还可产生其产的图形 out.print(((Math.abs(i) + Math.abs(j)) == LINE / 2) ? '*' : ' '); } out.println(); }} 把方法二改进一下,去掉了尾部没有用的空格:// 方法二for (int i = 0 - LINE / 2; i <= LINE / 2; i++) { for (int j = 0 - LINE / 2; Math.abs(i) + j <= LINE / 2; j++) { out.print(((Math.abs(i) + Math.abs(j)) == LINE / 2) ? '*' : ' '); } out.println();} 工程的jdk与TOMCAK下面的JDK分别起什么作用 求二叉排序树的java实现,,, dom4j中用dtd验证xml时出的错误 关于java的native方法,高手进 在applet中,能不能根据byte[] 创建一个Image图像,并显示???如果可以,如何做? 相同包下相同类定义的问题,太郁闷了!! 将int转成byte[] Eclips的问题 代码行的前面出现一个 ! 号 的标志是什么意思? 求助:如何用java实现snmp? 苦恼的JBuilder 如果去掉字符串中的美元符号及大括号,用正则表达式 java程序不用头文件的原理是什么?
// 因为菱形的行数不能是偶数,要转为奇数
LINE = (LINE & 1) == 0 ? LINE + 1 : LINE; PrintStream out = System.out; // 方法一:使用 JDK 1.5 的格式化输出
out.printf("%" + (LINE + 1) / 2 + "s%n", "*");
for (int i = 0 - (LINE - 2) / 2; i <= (LINE - 2) / 2; i++) {
out.printf("%1$" + (Math.abs(i) + 1) + "s%1$" + 2 * (LINE / 2 - Math.abs(i)) + "s%n", "*");
}
out.printf("%" + (LINE + 1) / 2 + "s%n", "*"); // 方法二:代码最少
for (int i = 0 - LINE / 2; i <= LINE / 2; i++) {
for (int j = 0 - LINE / 2; j <= LINE / 2; j++) {
// 把 == 改成 <= 或 >= ,还可产生其产的图形
out.print(((Math.abs(i) + Math.abs(j)) == LINE / 2) ? '*' : ' ');
}
out.println();
}
}
for (int i = 0 - LINE / 2; i <= LINE / 2; i++) {
for (int j = 0 - LINE / 2; Math.abs(i) + j <= LINE / 2; j++) {
out.print(((Math.abs(i) + Math.abs(j)) == LINE / 2) ? '*' : ' ');
}
out.println();
}