C# 如何打印下一行的输出?
例如,我试图以以下方式打印输出:C# 如何打印下一行的输出?,c#,C#,例如,我试图以以下方式打印输出: 磁盘:12345 移动:1371531 我该怎么做,有人能帮我吗 { class Program { static void Main(string[] args) { int n = 2; for (int j = 1; j <= 5; j++) Console.WriteLine("disk: {0}", j); for (int i = 1; i &
磁盘:12345
移动:1371531
我该怎么做,有人能帮我吗
{
class Program
{
static void Main(string[] args)
{
int n = 2;
for (int j = 1; j <= 5; j++)
Console.WriteLine("disk: {0}", j);
for (int i = 1; i <= 5; i++)
Console.WriteLine("moves: {2:N0}",
n, i,(long)Math.Pow(n, i) - 1);
}
}
}
{
班级计划
{
静态void Main(字符串[]参数)
{
int n=2;
对于(int j=1;jConsole.WriteLine
听起来每次都会写一行新行。如果您不希望出现这种行为,请使用Console.write
Console.Write("Disk:");
for (int j = 1; j <= 5; j++)
Console.Write(" {0}", j);
Console.WriteLine();
Console.Write("Moves:");
for (int i = 1; i <= 5; i++)
Console.Write(" {2:N0}", (long)Math.Pow(n, i) - 1);
Console.WriteLine();
Console.Write(“磁盘:”);
对于(int j=1;j您可以使用控制台。写入,它不会打印回车
但是,在这种情况下不需要for循环。只需使用Enumerable.Range
var n = 2;
var disks = Enumerable.Range(1, 5).ToList();
var moves = Enumerable.Range(1, 5).Select(i => (long) Math.Pow(n, i) - 1);
Console.WriteLine("disk: {0}", string.Join(" ", disks));
Console.WriteLine("moves: {0:N0}", string.Join(" ", moves));
结果:
磁盘:12345
移动:1 3 7 15 31
使用string.PadLeft()
方法对文本进行对齐。当然,您可以用常量值替换幻数。这使您不必计算空格,并自动添加正确的空格数,以使字符串达到所需的长度
请注意,您还可以取消格式插入(即不再使用大括号)
static void Main(字符串[]args)
{
整数幂=2;
控制台写入(“磁盘:.PadLeft(8));
对于(int j=1;j谢谢。我到现在还没听说过PadLeft,这太棒了。非常感谢。非常感谢,这更有意义。明白。这也很容易理解。谢谢
static void Main(string[] args)
{
int power = 2;
Console.Write("disk:".PadLeft(8));
for (int j = 1; j <= 5; j++)
Console.Write(j.ToString().PadLeft(5));
Console.WriteLine();
Console.Write("moves:".PadLeft(8));
for (int i = 1; i <= 5; i++)
Console.Write(((long)Math.Pow(power, i) - 1).ToString().PadLeft(5));
Console.WriteLine();
Console.ReadLine();
}