如何显示看起来更像
的输出目标:< 1,2,1,2,1>
不喜欢:< 1,2,1,2,1,> //最后有一个逗号
目前显示:1,2,1,1,2,1,
for (int i = 1; i <= 7; i++)
{
int coin1 = RandomFlip(); //1 head 2 tails
int coin2 = RandomFlip();
if(coin1 == coin2)
{
Console.Write(coin1 + ", ")
}
}
答案 0 :(得分:2)
由于你不知道哪个迭代是最后一个循环,你必须建立一个结果列表,然后再显示它。
var flipValues = List<int>();
for (int i = 1; i <= 7; i++)
{
int coin1 = RandomFlip(); //1 head 2 tails
int coin2 = RandomFlip();
if(coin1 == coin2)
{
flipValues.Add(coin1);
}
}
Console.Write(string.Join(", ", flipValues.Select(f => f.ToString());
答案 1 :(得分:2)
您需要保留结果,直到您知道自己已完成为止,然后在拥有整个列表后打印它们。这是一种方法:
List<int> results = new List<int>();
for (int i = 1; i <= 7; i++)
{
int coin1 = RandomFlip(); //1 head 2 tails
int coin2 = RandomFlip();
if(coin1 == coin2)
{
results.Add(coin1);
}
}
Console.WriteLine(string.Join(", ", results.Select(ToString));
答案 2 :(得分:2)
var res = String.Join(", ",
Enumerable.Range(1, 7)
.Select(n =>
{
int coin1 = RandomFlip(); //1 head 2 tails
int coin2 = RandomFlip();
return new { coin1, coin2 };
})
.Where(c => c.coin1 == c.coin2)
.Select(c => c.coin1)
);
Console.Write(res);
答案 3 :(得分:1)
List<int> numbers = new List<int>();
for (int i = 1; i <= 7; i++)
{
int coin1 = RandomFlip();
int coin2 = RandomFlip();
if (coin1 == coin2)
{
numbers.Add(coin1);
}
}
string output = "";
for(int i = 0; i < numbers.Count; i++)
{
output+=numbers[i].ToString();
if (i < numbers.Count-1)
{
output+=", ";
}
}
答案 4 :(得分:1)
您可以做的是保留附加的输出字符串,在添加coin1输出之前添加逗号。如果那里没有任何内容,你只需要确保不要在字符串中添加逗号。
string output = "";
for (int i = 1; i <= 7; i++)
{
int coin1 = RandomFlip(); //1 head 2 tails
int coin2 = RandomFlip();
if (coin1 == coin2)
{
if (output != "")
output += ", ";
output += coin1;
}
}
Console.Write(output);