[Java] 纯文本查看 复制代码
/*
分析:
1.键盘录入菱形的边长a,先创建键盘录入对象
2.遍历*:for循环嵌套使用 i代表行数,x代表每行*的个数
3.使得*能够在布局上更加可观,需要在每行前面加上对应的空格
第i行 *前空出 a-i个单位
*与*之间空出 1 个单位的空格,空格数必须为奇数
4.为了输出效果为正菱形
第i行 *前空出单位须为 两个空格符
*与*之间空出 三个空格符
*/
import java.util.Scanner;
class day3_05{
public static void main(String[] args){
//创建键盘录入对象
Scanner sc = new Scanner(System.in);
//获取菱形的边长
System.out.println("请输入菱形的边长");
int a = sc.nextInt();
int z;
//菱形上半部分
for(int i = 1;i <= a;i++){
z = a - i;
for(int x = 1;x <=i;x++){
//*前加入z个空格,使每行成阶梯状
while(z >= 1){
System.out.print(" ");
z--;
}
//*后面加空格,是的每行*之间保持适当间距
System.out.print("*"+" ");
}
System.out.println();
}
//菱形下半部分
for(int i = a-1;i >= 1;i--){
z = a - i;
for(int x = i;x >=1;x--){
while(z >= 1){
System.out.print(" ");
z--;
}
System.out.print("*"+" ");
}
System.out.println();
}
}
}