我正在尝试创建一个构建金字塔的程序。金字塔以数组的形式出现,每一层都是由星号组成的,然而,当我试图用填充居中每一层时,我只在每根字符串的左侧接收到填充。为什么会发生这种情况?
public class Kata
{
public static string[] TowerBuilder(int nFloors)
{
string[] tower = new string[nFloors];
for( int floorNum = 0; floorNum < nFloors; floorNum++ ) {
int numOfStars = 2 * (floorNum + 1) - 1;
int maxStars = 2 * nFloors - 1;
char star = '*';
string floor = new string( star, numOfStars );
int totalPadding = maxStars - floorNum - 1;
int padding = totalPadding / 2;
string centeredFloor = floor.PadLeft(padding).PadRight(padding);
tower[floorNum] = centeredFloor;
}
return tower;
}
}
转载请注明出处:http://www.xinruixiangtm.com/article/20230526/1593311.html