1

プログラムは次のとおりです。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplicationlotto
{
    class Program
    {
        const int LIMIT = 7;

        static void Main(string[] args)
        {
            int[] lotto = new int[LIMIT];
            int lotDigits;

            Random rnd = new Random();

            foreach (int sub in lotto)
            {
                lotDigits = rnd.Next(0, 8);
                Console.WriteLine(lotDigits);

            }


        }
    }
}

7桁の「宝くじ番号」を形成する7つのランダムな数字を連続して表示したいので、次の代わりに「5902228」のようになります。

5

9

0

2

2

2

8

「0:D7」を使用してみましたが、最後の数桁が他の数字であるゼロの束が表示されます。

4

4 に答える 4

4

Console.Writeの代わりに使用Console.WriteLine

于 2013-03-24T17:04:42.287 に答える
2

string期待どおりの前に作成する必要があります。WriteLine以下は、LINQを使用Enumerable.Rangestring.Join、コード行を少なくすることです。

private static void Main(string[] args)
{
    var random = new Random();
    var numbers = Enumerable.Range(0, 7)
                            .Select(x => random.Next(0, 9));

    var output = string.Join(string.Empty, numbers);

    Console.WriteLine(output);
}

または使用Aggregate

var output = Enumerable.Range(0, 7)
                       .Aggregate(string.Empty, 
                               (str, i) => str += random.Next(0, 9));
于 2013-03-24T17:12:22.730 に答える
0

Console.Writeの代わりに 利用するConsole.WriteLine

Console.WriteLine-コンソールウィンドウに行を追加します。これにより、各番号が異なる行に表示されます。

foreach (int sub in lotto)
{
    lotDigits = rnd.Next(0, 8);
    Console.Write(string.Format("{0}\t", lotDigits));
}

番号を分けて、1つの個別の番号のように見えないようにする必要があります。

于 2013-03-24T17:05:19.417 に答える
0
foreach (int sub in lotto)
{
        lotDigits = rnd.Next(0, 8);
        Console.Write(string.Format("{0} ", lotDigits));
}
于 2013-03-24T17:06:05.143 に答える