题目:
输入一个奇数n和一个字符串s,并通过s打印出一个金字塔形状。金字塔的底端有一个单个的s,每行增加两个s,最后一个包含n个。
代码:
import java.util.Scanner;
public class invertedPyramid
{
private static Scanner in2;
/**
* 按要求输入金字塔
* @param s是金字塔基本字符
* @param n是顶部端长度
* @param row是行数
*/
public static void main(String args[])
{
in2 = new Scanner(System.in);
System.out.print("请输入金字塔的基本字符:");
String s = in2.next();
System.out.print("请输入金字塔底部长度,限奇数:");
int n = in2.nextInt();
/**
* 判断数据是否是奇数
*/
boolean input = false;
if(n%2 == 1)
{
input = true;
}
while(!input)
{
System.out.print("输入错误,请重新输入金字塔的底部长度,限奇数:");
n = in2.nextInt();
if(n%2 == 1)
{
input = true;
}
}
int row = (n+1)/2;//行数
fallPyramid(row,s);
}
/**
* 打印倒金字塔
* @param row表示行数
* @param s表示金字塔的基本字符
*/
private static void fallPyramid(int row, String s)
{
for(int i=row;i>=1;i--)
{
for(int j=0;j<row-i;j++)//打印空格
{
System.out.print(" ");
}
for(int k=0;k<i*2-1;k++)//打印s数
{
System.out.print(s);
}
System.out.println();//换行
}
}
}
运行结果: