题目:打印出如下图案(菱形)。
1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 for循环,第一层控制行,第二层控制列。
编程实现:
import java.util.*;
public class PrintDiamond{
public static void main(String []args){
int line;
System.out.print("Please input the lines of a diamond:");
Scanner scanner = new Scanner(System.in);
line = scanner.nextInt();
for(int i=0; i
for(int j=0; j
if(i+j>=line && i+j<=3*line && i-j>=-line && i-j<=line){
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println(); //换行
}
}
}
思路二:将菱形看成一个坐标轴,其有正负坐标。
import java.util.*;
public class PrintDiamond{
public static void main(String []args){
int left;
int right;
System.out.print("Please input the lines of a diamond:");
Scanner scanner = new Scanner(System.in);
right = scanner.nextInt();
left = -right;
for(int i=left; i<=right; i++){
for(int j=left; j<=right; j++){
System.out.print((Math.abs(i)+Math.abs(j)<=right)?"*":" ");
}
System.out.println();
}
}
}
思路三:利用二维数组打印。
程序略...