PTA 空心菱形 JAVA
输入格式
行数(正整数)
输出格式
若行数为奇数,则显示星号勾勒出的菱形,否则显示错误信息。
输入样例1
5
输出样例1
*
* *
* *
* *
*
输入样例2
8
输出样例2
Error
简单的方法是将菱形的上下两个部分拆分开来,上半部分为一个三角形,下半部分为倒三角形,在程序中先打印出三角形,在打印出倒三角形。
1 import java.util.Scanner;//导入Scanner类,用于扫描输入流 2 public class one{ 3 public static void main(String[] args){ 4 Scanner scan = new Scanner(System.in); 5 int n = scan.nextInt();//获取输入流中整数传给n变量 6 if(n % 2 == 0)System.out.println("Error"); 7 //根据题意判断是偶数的话输出错误提示,奇数就打印图案 8 else{ 9 for(int i = -(n - 1) / 2;i <= (n - 1) / 2;i++){ 10 //i代表了行数,同时也记录了每行需求前置空格的数量 11 for(int j = 1;j <= (n - Math.abs(i));j++){ 12 //从最左侧开始打印,n-绝对值(i)即为最右侧*所在位置,也是一行的最后值 13 if(j <= Math.abs(i) || j > Math.abs(i) + 1 && j < (n - Math.abs(i))) 14 //j<=绝对值(i)即前置空格,j > 绝对值(i)+1 即第一个*号后,J <最后值,即第二个*号前 15 System.out.print(" ");//打印空格 16 else 17 System.out.print("*"); //打印* 18 } 19 System.out.println();//一行打印结束,换行 20 } 21 } 22 } 23 }

浙公网安备 33010602011771号