题目:打印一个空心的菱形。
这个题目挺经典的,做法也很多,我选择用二维数组做,好处是代码较短,所嵌套的语句不多,难点在于参数的设置。
代码分享如下:- import java.util.Scanner;
- class lingxing1 {
- public static void main(String[] args) {
- Scanner input = new Scanner(System.in);
- System.out.print("请输入要打印拼成菱形上半个三角形的行数,x = ");
- int x = input.nextInt();
- int n=2*x-1;
- char [][] arr = new char[n][n];
- for (int h=0;h<n;h++){
- for (int l=0;l<n;l++){
- int a=h+l;
- int b=h-l;
- int c=(n-1)/2;
- int d=n-1;
- if ((a==c)|(a==(c+d))|(b==c)|(b==-c)) {
- arr[h][l]='*';
- }
- else
- arr[h][l]=' ';
- System.out.print(arr[h][l]);
- }
- System.out.println();
- }
- }
- }
复制代码 运行结果如下:
本人新手,还在学习基础中。
|