三种颜色重复

时间:2013-10-05 13:02:58

标签: c#

首先我要提一下,我是C#的初学者。

这是我到目前为止所做的代码:

for (int row = 1; row <= 25; row++)
        {
            for (int col = 1; col <= 39; col++)
            {
                switch (row)
                {
                    case 1:
                        Console.ForegroundColor = ConsoleColor.Yellow;
                        break;
                    case 2:
                        Console.ForegroundColor = ConsoleColor.Magenta;
                        break;
                    case 3:
                        Console.ForegroundColor = ConsoleColor.Green;
                        break;

                }
                Console.Write("* ");                    
        }
        Console.WriteLine();

我真的很喜欢三种颜色:黄色,洋红色,绿色重复。

三个第一句话还可以,但其余的都是绿色的。

让其他所有行向右移一步?

感谢所有帮助

由于

3 个答案:

答案 0 :(得分:3)

在交换机中更改代码:

for (int row = 1; row <= 25; row++) {
                for (int col = 1; col <= 39; col++)
                {
                    switch (row%3)
                    {
                        case 1:
                            Console.ForegroundColor = ConsoleColor.Yellow;
                            break;
                        case 2:
                            Console.ForegroundColor = ConsoleColor.Magenta;
                            break;
                        case 0:
                            Console.ForegroundColor = ConsoleColor.Green;
                            break;

                    }
                     Console.Write("* ");        
                    }
                Console.WriteLine();

答案 1 :(得分:0)

    for (int row = 1; row <= 25; row++) {
            for (int col = 1; col <= 39; col++)
            {
                int rowInd = row % 3;
                switch (rowInd)
                {
                    case 0:
                        Console.ForegroundColor = ConsoleColor.Yellow;
                        break;
                    case 1:
                        Console.ForegroundColor = ConsoleColor.Magenta;
                        break;
                    case 2:
                        Console.ForegroundColor = ConsoleColor.Green;
                        break;

                }
                 Console.Write("* ");        
                }
            Console.WriteLine();
仅给出1,2,3行的

将仅为这些行分配值。因此,通过使用%符号,您将获得第3行的剩余部分。这是3/3,余数= 0;为4/3,余数= 1;和5/3;余数= 2;再次0为6/3;

答案 2 :(得分:0)

可以尝试这样的事情:

        ConsoleColor[] colors = new ConsoleColor[] { 
        ConsoleColor.Yellow,
        ConsoleColor.Magenta,
        ConsoleColor.Green
        };

        for (int row = 1; row <= 25; row++)
        {
            Console.ForegroundColor = colors[(row+1) % 3];
            for (int col = 1; col <= 39; col++)
            {
                Console.Write("*");
            }
            Console.WriteLine();
        }