题目
用键盘读入一个字符,然后在屏幕上显示一个用这个字符填充的对角线长5个字符,倾斜放置的菱形。
输入描述:
输入一个char类型字符
输出描述:
输出一个用这个字符填充的对角线长5个字符,倾斜放置的菱形
示例1
输入:
/ #
输出:
思路
将菱形分为上下两个部分,控制行,然后分别打印空格和符号。
代码
import java.util.Scanner;
public class Main{public static void main(String[] args){Scanner sc = new Scanner(System.in);char in = sc.next().charAt(0);//上部分的行数,包括对角线int n = 3;//循环输出前半部分for(int i = 1 ; i <= n; i++){//输出每行前面的空格,并逐级减少,第一行两个,第二行一个,第三行0个for(int j = 1; j <= n - i; j++){System.out.print(" ");}//每行输出的字符个数是改行的2倍健1,2*i-1for(int j = 1; j <= 2 * i - 1;j++){System.out.print(in);}//每行的结尾要换行System.out.println();}//循环输出后半部分int m = n - 1;//后半部分的行数是前半部分行数减1,m=2for(int i = 1; i <= m; i++){//i=1时,是第四行,打印1个空格,3个字符//i=2时,是第五行,打印0个空格,1字符个//输出空格for(int j = 1; j <= i; j++){System.out.print(" ");}for(int j = 1; j <= 2*(m-i)+1 ; j++){System.out.print(in);}System.out.println();}}
}
运行时间:34ms
占用内存:10884KB