我的格式化输出有问题。这是我的代码:
int[] Number = new int[15];
// int followup;
int Counter;
Random random = new Random();
for (Counter = 0; Counter < Number.Length; Counter++)
{
int Rep = 0;
Rep = random.Next(0, 345);
Number[Counter] = Rep;
Console.WriteLine("num:{0}", Rep);
}
它正在推出我的数字
7
4
2
(repeat 15)
但我希望它输出如下:
6 2 7 4 (11 more)
我怎么能实现这个目标?
答案 0 :(得分:3)
只需将Console.WriteLine更改为Console.Write("{0} ", Rep);
int[] Number = new int[15];
// int followup;
int Counter;
Random random = new Random();
Console.Write("Num: ");
for (Counter = 0; Counter < Number.Length; Counter++)
{
int Rep = 0;
Rep = random.Next(0, 345);
Number[Counter] = Rep;
Console.Write("{0}" + (Counter < Number.Length - 1 ? ", " : ""), Rep);
}
Console.WriteLine();
答案 1 :(得分:3)
在循环内,将Console.WriteLine
更改为Console.Write
Random random = new Random();
Console.Write("Num: ");
for (Counter = 0; Counter < Number.Length; Counter++)
{
int Rep = random.Next(0, 345);
Number[Counter] = Rep;
Console.Write("{0} ", Rep);
}
Console.WriteLine();
然后在循环外调用Console.WriteLine()
以移至下一行
答案 2 :(得分:3)
如果你想拥有它
有更好的方法,只输出num(数字),(数字),(数字)
那你为什么不这样用呢?
Console.Write("{0} ,", Rep);
应该可以正常工作
答案 3 :(得分:1)
我会从数组中创建一个字符串,并在最后输出结果。
int[] Number = new int[15];
int Counter;
Random random = new Random();
for (Counter=0; Counter<Number.Length; Counter++)
{
int Rep = 0;
Rep = random.Next(0, 345);
Number[Counter] = Rep;
}
Console.WriteLine(String.Join(" ", Number));
现在,您可以创建一个可重用的函数,并将关注点,业务逻辑分离到一个位置(递增数字),在另一个位置输出。
这将帮助您避免复制和粘贴编程(复制和粘贴编程是指复制和粘贴代码时没有任何更改,或者可能进行小的更改)。
int[] GetNumbers()
{
int[] Number = new int[15];
int Counter;
Random random = new Random();
for (Counter=0; Counter<Number.Length; Counter++)
{
int Rep = 0;
Rep = random.Next(0, 345);
Number[Counter] = Rep;
}
return Number;
}
void DisplayNumbers()
{
int[] numbers = GetNumbers();
Console.WriteLine(String.Join(" ", numbers));
}