Java:打印输出空心菱形
题目要求输出类似空心菱形:
我们可以分成两部分来写,相当于就是正三角和倒三角,假设上面为9层,下面就为8层。
先写上部分的正三角:
public class stat01{public static void main(String[] args) {//打印空心菱形int i = 1; //i表示当前层数int j = 1; int k = 1;int line = 9; //总层数for (i = 1; i <= line; i++) {//输出对应空格for (k = 1; k <= line - i; k++) {System.out.print(" "); }//控制每层打印*的个数for (j = 1; j <= 2 * i - 1; j++) {if (j == 1 || j == 2 * i - 1) { //第一个和最后一个为*System.out.print("*");}else{System.out.print(" "); //其他位置为空格}}System.out.println(); //每打印完一层*,就换行}}
}
实现效果如图:
接着写下部分的倒三角:
public class stat02{public static void main(String[] args) {//打印空心菱形int i = 1; //i表示当前层数int j = 1; int k = 1;int line = 9; //总层数//倒三角for (i = 1; i <= line - 1; i++) {for (k = 1; k <= i; k++) {System.out.print(" ");}for (j = 1; j <= 2 * (line - 1 - i) + 1; j++) {if (j ==1 || j == 2 * (line - 1 - i) + 1) { //第一个和最后一个为*System.out.print("*");}else{System.out.print(" "); //其他位置为空格}}System.out.println(); //每打印完一层*,就换行}}
}
实现效果如图:
接着把两个代码合在一起,完整代码如下:
public class doublestat{public static void main(String[] args) {//打印空心菱形int i = 1; //i表示当前层数int j = 1; int k = 1;int line = 9; //总层数for (i = 1; i <= line; i++) {//输出对应空格for (k = 1; k <= line - i; k++) {System.out.print(" "); }//控制每层打印*的个数for (j = 1; j <= 2 * i - 1; j++) {if (j == 1 || j == 2 * i - 1) { //第一个和最后一个为*System.out.print("*");}else{System.out.print(" "); //其他位置为空格}}System.out.println(); //每打印完一层*,就换行}//倒三角for (i = 1; i <= line - 1; i++) {for (k = 1; k <= i; k++) {System.out.print(" ");}for (j = 1; j <= 2 * (line - 1 - i) + 1; j++) {if (j ==1 || j == 2 * (line - 1 - i) + 1) { //第一个和最后一个为*System.out.print("*");}else{System.out.print(" "); //其他位置为空格}}System.out.println(); //每打印完一层*,就换行}}
}
最终效果如图所示:
温馨提示:代码中line代表总层数,是指正三角的层数,真正空心菱形的层数为:2*line-1,需要改层数,直接改line的值就可以了,很方便的。
Java:打印输出空心菱形
题目要求输出类似空心菱形:
我们可以分成两部分来写,相当于就是正三角和倒三角,假设上面为9层,下面就为8层。
先写上部分的正三角:
public class stat01{public static void main(String[] args) {//打印空心菱形int i = 1; //i表示当前层数int j = 1; int k = 1;int line = 9; //总层数for (i = 1; i <= line; i++) {//输出对应空格for (k = 1; k <= line - i; k++) {System.out.print(" "); }//控制每层打印*的个数for (j = 1; j <= 2 * i - 1; j++) {if (j == 1 || j == 2 * i - 1) { //第一个和最后一个为*System.out.print("*");}else{System.out.print(" "); //其他位置为空格}}System.out.println(); //每打印完一层*,就换行}}
}
实现效果如图:
接着写下部分的倒三角:
public class stat02{public static void main(String[] args) {//打印空心菱形int i = 1; //i表示当前层数int j = 1; int k = 1;int line = 9; //总层数//倒三角for (i = 1; i <= line - 1; i++) {for (k = 1; k <= i; k++) {System.out.print(" ");}for (j = 1; j <= 2 * (line - 1 - i) + 1; j++) {if (j ==1 || j == 2 * (line - 1 - i) + 1) { //第一个和最后一个为*System.out.print("*");}else{System.out.print(" "); //其他位置为空格}}System.out.println(); //每打印完一层*,就换行}}
}
实现效果如图:
接着把两个代码合在一起,完整代码如下:
public class doublestat{public static void main(String[] args) {//打印空心菱形int i = 1; //i表示当前层数int j = 1; int k = 1;int line = 9; //总层数for (i = 1; i <= line; i++) {//输出对应空格for (k = 1; k <= line - i; k++) {System.out.print(" "); }//控制每层打印*的个数for (j = 1; j <= 2 * i - 1; j++) {if (j == 1 || j == 2 * i - 1) { //第一个和最后一个为*System.out.print("*");}else{System.out.print(" "); //其他位置为空格}}System.out.println(); //每打印完一层*,就换行}//倒三角for (i = 1; i <= line - 1; i++) {for (k = 1; k <= i; k++) {System.out.print(" ");}for (j = 1; j <= 2 * (line - 1 - i) + 1; j++) {if (j ==1 || j == 2 * (line - 1 - i) + 1) { //第一个和最后一个为*System.out.print("*");}else{System.out.print(" "); //其他位置为空格}}System.out.println(); //每打印完一层*,就换行}}
}
最终效果如图所示:
温馨提示:代码中line代表总层数,是指正三角的层数,真正空心菱形的层数为:2*line-1,需要改层数,直接改line的值就可以了,很方便的。
发布评论