求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();} 关于算数字二进制中1和字符顺序 按标签读取文本信息 ServerSocket的问题 关于javamail的问题 从哪里可以下载基于java,struts和SQL SERVER的酒店客房管理系统的原型啊 javamail 发件人怎么指定? 急!!!!!请问装完idea后,选择File -> Open Project出现的中文字符为乱码,该如何解决? 很简单的问题2,急!!! 请教!String型向float型转化问题 我等不及了,快来啊... 如果去掉字符串中的美元符号及大括号,用正则表达式 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();
}