使用java快速打印菱形,主要思路,将菱形的四条边当做函数,来寻找代码之间的关系,从而快速打印.
package day01;
import java.util.Scanner;
import javax.print.DocFlavor.INPUT_STREAM;
public class DoemTest04 {
public static void main(String[] args) {
//定义一个数组用于存放字符串
boolean bol=true;
int m,n;
String str = "是";
while(bol){
System.out.println("请输入需要打印的菱形的行数,只能是奇数");
Scanner scanner = new Scanner(System.in);
m=scanner.nextInt();
String[][] lingxing = new String[m][m];
n=m/2;
//将字符串赋值
for (int i = 0; i <lingxing.length; i++) {
for (int j = 0; j < lingxing.length; j++) {
//判断菱形的左上角的字符是否是"*"
if ((i+j)==n) {
lingxing[i][j]="*";
}else if((j-i)==-n){//判断菱形的左下角的字符是否是"*"
lingxing[i][j]="*";
}else if ((j-i)==n) {//判断菱形的右上角的字符是否是"*"
lingxing[i][j]="*";
}else if ((i+j)==3*n) {//判断菱形的右下角的字符是否是"*"
lingxing[i][j]="*";
}else{
lingxing[i][j]=" ";
}
System.out.print(lingxing[i][j]);
if (j==lingxing.length-1) {
System.out.println("--------");
}
}
}
//循环输出数组
System.out.println("是否继续? 是或者否");
String stry=scanner.next();
if (stry.equals(str)) {
System.out.println("继续");
}else{
bol = false;
System.out.println("退出");
}
}
}
}