黑马程序员技术交流社区
标题:
打印 以下图形
[打印本页]
作者:
STARlove
时间:
2015-8-9 22:17
标题:
打印 以下图形
/*打印
* * * * *
* * * *
* * *
* *
*
思路:
1,用for嵌套循环
2,最外层循环打印行数,里面并列两层,首先打印‘*’之前的空格,然后打印‘*空格’。
3,注意换行。
*/
class ForForForDemo {
public static void main(String[] args) {
for(int x = 0;x < 5;x++){
//打印*之前的空格
for(int y = 0;y < x;y++){
System.out.print(" ");
}
//打印“* ”
for(int z = x;z < 5;z++){
System.out.print("* ");
}
System.out.println();
}
}
}
作者:
STARlove
时间:
2015-8-9 22:50
jie guo
2015-08-09_221332.jpg
(35.64 KB, 下载次数: 1)
下载附件
2015-8-9 22:50 上传
作者:
一枚小小媛
时间:
2015-8-9 23:00
package test_for;
/**
* @author 小媛
* 根据需求,打印各种奇葩图形
* 思路:
* ①双重for循环
* ②外层循环控制有多少行,内层循环控制每行有多少个
* ③操作for循环的条件 达到需要的目的
*/
public class GraphPrint {
public static void main(String[] args) {
}
/**
* 打印常规三角形
* size 表示行数
●
●●
●●●
●●●●
●●●●●
*/
private static void printTriangle(int size) {
for (int i = 1; i <= size; i++) {
for (int j = 1; j <= i; j++) {
System.out.print("●");
}
System.out.println();
}
}
/**
* 打印常规倒三角
* size 表示行数
●●●●●
●●●●
●●●
●●
●
*/
private static void printTriangle2(int size) {
for (int i = size; i >= 1; i--) {
for (int j = 1; j <= i; j++) {
System.out.print("●");
}
System.out.println();
}
}
/**
* 打印等腰三角形
* size 表示行数
●
●●
●●●
●●●●
●●●●●
*/
private static void printTriangle3(int size) {
for (int i = 1; i <= size; i++) {
for (int j = size; j > i; j--) {
System.out.print(" ");
}
for (int j = 1; j <= i; j++) {
System.out.print("●");
}
System.out.println();
}
}
/**
* 打印 空心&等腰 三角形
* size 表示行数
●
●●
● ●
● ●
●●●●●
*/
private static void printTriangle4(int size) {
for (int i = 1; i <= size; i++) {
for (int j = size; j > i; j--) {
System.out.print(" ");// 单空格
}
for (int j = 1; j <= i; j++) {
if (i == 1 || i == size || j == 1 || j == i) {
System.out.print("●");
} else {
System.out.print(" ");// 双空格
}
}
System.out.println();
}
}
/**
* 打印棱形
* size 表示行数
●
●●
●●●
●●●●
●●●●●
●●●●
●●●
●●
●
*/
private static void printPrismatic(int size) {
for (int i = 1; i <= size; i++) {
for (int j = size; j > i; j--) {
System.out.print(" ");// 单空格
}
for (int j = 1; j <= i; j++) {
System.out.print("●");
}
System.out.println();
}
for (int i = size - 1; i >= 1; i--) {
for (int j = size - 1; j >= i; j--) {
System.out.print(" ");// 单空格
}
for (int j = 1; j <= i; j++) {
System.out.print("●");
}
System.out.println();
}
}
/**
* 打印空心棱形
* size 表示行数
●
●●
● ●
● ●
● ●
● ●
● ●
●●
●
*/
private static void printPrismatic2(int size) {
for (int i = 1; i <= size; i++) {
for (int j = size; j > i; j--) {
System.out.print(" ");// 单空格
}
for (int j = 1; j <= i; j++) {
if (i == 1 || j == 1 || j == i) {
System.out.print("●");
} else {
System.out.print(" ");
}
}
System.out.println();
}
for (int i = size - 1; i >= 1; i--) {
for (int j = size - 1; j >= i; j--) {
System.out.print(" ");// 单空格
}
for (int j = 1; j <= i; j++) {
if (i == 1 || i == size || j == 1 || j == i) {
System.out.print("●");
} else {
System.out.print(" ");
}
}
System.out.println();
}
}
/**
* 打印等腰梯形
* size 表示行数
* upWidth 表示梯形上边长
●●●●●
●●●●●●
●●●●●●●
●●●●●●●●
●●●●●●●●●
*/
private static void printTrapezium(int upWidth, int size) {
for (int i = 1; i <= size; i++) {
for (int j = size; j > i; j--) {
System.out.print(" ");
}
for (int j = 1; j <= i + upWidth - 1; j++) {
System.out.print("●");
}
System.out.println();
}
}
/**
* 打印空心等腰梯形
* size 表示行数
* upWidth 表示梯形上边长
●●●●●
● ●
● ●
● ●
●●●●●●●●●
*/
private static void printTrapezium2(int upWidth, int size) {
for (int i = 1; i <= size; i++) {
for (int j = size; j > i; j--) {
System.out.print(" ");// 单空格
}
for (int j = 1; j <= i + upWidth - 1; j++) { //+ upWidth表示多打印upWidth个圆点; -1 是除去第一个,避免重复
if (i == 1 || i == size || j == 1 || j == i + upWidth - 1) {
System.out.print("●");
} else {
System.out.print(" ");// 双空格
}
}
System.out.println();
}
}
}
复制代码
再给楼主补充一下我对其它图形的理解。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2