求Java用“*”输出菱形图的算法

来源:百度知道 编辑:UC知道 时间:2024/06/21 06:48:09
传入一个奇数值starNum,用符号“*”相应打印出一个菱形。
假设starNum = 7 则打印:
*
***
*****
*******(此行长度为7个字符)
*****
***
*
(共有7行)
空格被trim掉了....用“-”代替空格了:
---*---
--***--
-*****-
*******
-*****-
--***--
---*---

package com.esca.test;

import java.util.Scanner;

public class 菱形 {

/**
* @param args
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入您要显示的startNum数:");
int startNum = sc.nextInt();
int num = (startNum-1)/2;
System.out.println("图形如下:");
for(int i=1;i<num;i++){
for(int j=0;j<num-i;j++){
System.out.print(" ");
}
for(int k=1;k<i;k++){
System.out.print("*");
}
System.out.print("*");
for(int k=1;k<i;k++){
System.out.print("*");
}
for(int j=0;j<num-i;j++){
System.out.print(" ");
}
System.out.println();
}
for(int i=num;i>0;i--){
for(int j=num-i;j>0;j--){
System.out.print(" ");
}
for(i