如何在控制台中将 5x10 二维数组与随机数据正确对齐?
How to properly align a 5x10 2-d array with random data in console?
第一次发帖,但我整个季度都在使用 Whosebug 来帮助我介绍 C# class。一般来说,如果我足够努力,我可以找到我要找的东西,但我一直找不到任何人已经回答了我的问题。
我的作业要求我在 5x10 数组中显示随机数。
然后我需要计算数字的总和和平均值,但我稍后会担心。
随机数应 <0 且 <=100。控制台输出应该是这样的
x x x x x
x x x x x
x x x x x
x x x x x
x x x x x
只有 10 行而不是 5 行。
但是,我当前的代码是将随机数并排列出,并在到达行尾时换行,如下所示
x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x x
x x x x ...etc
我该怎么做才能使其正确对齐?我几乎已经用尽了使用格式修饰符的能力,所以当您看到 {0, 5}
时,这只是我最近的尝试,但远非我唯一的尝试。我对 C# 非常陌生,所以任何高级技术都是不可能的,因为我不明白如何正确使用它们。有什么想法 S.O.?!
using System;
namespace DilleyHW7
{
class Array2d
{
static void Main()
{
const int ROWS = 10;
const int COLS = 5;
const int MAX = 100;
int[,] numbers = new int[10, 5];
Random rand = new Random();
for (int i = 0 ; i< ROWS; ++i)
{
for (int j = 0; j < COLS; ++j)
{
numbers[i, j] = rand.Next(0, 101);
Console.Write(" {0, 5}", numbers[i, j]);
}
}
}
}
}
希望这不会搞砸代码片段....我知道我可以做一些像这样的废话
int[,] numbers = {
{random.Next(1,100), random.Next(0,100), random.Next(0,100), random.Next(0,100)},
{random.Next(1,100), random.Next(0,100), random.Next(0,100), random.Next(0,100)},
{random.Next(1,100), random.Next(0,100), random.Next(0,100), random.Next(0,100)},
{random.Next(1,100), random.Next(0,100), random.Next(0,100), random.Next(0,100)},
{random.Next(1,100), random.Next(0,100), random.Next(0,100), random.Next(0,100)}
};
但是那会让我在作业中得到很差的分数。
您可以使用 Console.WriteLine(),它会在输入的末尾插入一个行终止符。
您也可以使用 Environment.EndLine 属性 来插入适当的行尾字符。
所以你的循环看起来像:
for (int j = 0; j < COLS; ++j)
{
numbers[i, j] = rand.Next(0, 101);
Console.Write(" {0, 5}", numbers[i, j]);
}
Console.WriteLine(Environment.EndLine);
static void Main()
{
const int ROWS = 10;
const int COLS = 5;
const int MAX = 100;
int[,] numbers = new int[10, 5];
Random rand = new Random();
for (int i = 0 ; i< ROWS; ++i)
{
for (int j = 0; j < COLS; ++j)
{
numbers[i, j] = rand.Next(0, 101);
Console.Write(" {0, 5}", numbers[i, j]);
}
Console.WriteLine("");
}
}
第一次发帖,但我整个季度都在使用 Whosebug 来帮助我介绍 C# class。一般来说,如果我足够努力,我可以找到我要找的东西,但我一直找不到任何人已经回答了我的问题。
我的作业要求我在 5x10 数组中显示随机数。 然后我需要计算数字的总和和平均值,但我稍后会担心。
随机数应 <0 且 <=100。控制台输出应该是这样的
x x x x x
x x x x x
x x x x x
x x x x x
x x x x x
只有 10 行而不是 5 行。
但是,我当前的代码是将随机数并排列出,并在到达行尾时换行,如下所示
x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x x
x x x x ...etc
我该怎么做才能使其正确对齐?我几乎已经用尽了使用格式修饰符的能力,所以当您看到 {0, 5}
时,这只是我最近的尝试,但远非我唯一的尝试。我对 C# 非常陌生,所以任何高级技术都是不可能的,因为我不明白如何正确使用它们。有什么想法 S.O.?!
using System;
namespace DilleyHW7
{
class Array2d
{
static void Main()
{
const int ROWS = 10;
const int COLS = 5;
const int MAX = 100;
int[,] numbers = new int[10, 5];
Random rand = new Random();
for (int i = 0 ; i< ROWS; ++i)
{
for (int j = 0; j < COLS; ++j)
{
numbers[i, j] = rand.Next(0, 101);
Console.Write(" {0, 5}", numbers[i, j]);
}
}
}
}
}
希望这不会搞砸代码片段....我知道我可以做一些像这样的废话
int[,] numbers = {
{random.Next(1,100), random.Next(0,100), random.Next(0,100), random.Next(0,100)},
{random.Next(1,100), random.Next(0,100), random.Next(0,100), random.Next(0,100)},
{random.Next(1,100), random.Next(0,100), random.Next(0,100), random.Next(0,100)},
{random.Next(1,100), random.Next(0,100), random.Next(0,100), random.Next(0,100)},
{random.Next(1,100), random.Next(0,100), random.Next(0,100), random.Next(0,100)}
};
但是那会让我在作业中得到很差的分数。
您可以使用 Console.WriteLine(),它会在输入的末尾插入一个行终止符。
您也可以使用 Environment.EndLine 属性 来插入适当的行尾字符。
所以你的循环看起来像:
for (int j = 0; j < COLS; ++j)
{
numbers[i, j] = rand.Next(0, 101);
Console.Write(" {0, 5}", numbers[i, j]);
}
Console.WriteLine(Environment.EndLine);
static void Main()
{
const int ROWS = 10;
const int COLS = 5;
const int MAX = 100;
int[,] numbers = new int[10, 5];
Random rand = new Random();
for (int i = 0 ; i< ROWS; ++i)
{
for (int j = 0; j < COLS; ++j)
{
numbers[i, j] = rand.Next(0, 101);
Console.Write(" {0, 5}", numbers[i, j]);
}
Console.WriteLine("");
}
}