2014-10-02 18 views
-4

我正在尝试编写for-loop,然后选择每第三个数字并将一行写入控制台。在循环中选择第三个数字

这是我到目前为止已经试过:

for (int i = 1; i <=52; i++) 
{ 
    if (something??) 
    { 
     Console.WriteLine("Week" + i); 
    } 
} 

我也想给它这样写:

Week 1    Week 4   Week 7 
Week 10    Week 13   Week 16 
Week 19    Week 23   Week 25 

等多达52 ...

一在正确的方向帮助不大,真的很好!

编辑:

对不起我的意思是每逢第三个数字......

感谢这么多的帮助我有点卡住有一段时间,我现在必须弄清楚如何获得星期如上图所示.. :)

+9

你说过_every five number_ but you incre用'3'来表示你的号码?而'23'不应该是'22'?因为'19 + 3 = 22' .. – 2014-10-02 07:53:21

+1

你需要每五周或每三周一次?这还不清楚。 – HimBromBeere 2014-10-02 07:55:48

+0

对不起,我已经清除了现在....对不起:( – user3727466 2014-10-02 08:04:07

回答

7

你可以试试这个:

for (int i = 1; i <=52; i+=3) 
{ 

} 

你并不需要使用if声明。您可以将循环的步骤从1(i++)更改为您需要的那个,3(i+=3)。

3

对于您是否想要第3或第5个元素而言,似乎存在一些混淆。无论哪种方式,方法是一样的,只是3

更换5有2个选项

for (int i = 1; i <=52; i+=3) 

OR

for (int i = 1; i <=52; i++) 
      { 
       if (i % 3 == 1) 
       { 
        Console.WriteLine("Week" + i); 
       } 
      } 
+0

啊剩下的检查,笏一个冠军 – liquidsnake786 2014-10-02 08:04:58

0

所以你知道你可以使用一个整数作为计数器时,它具有完成了5次if语句。如果它已经5次,你可以运行代码并重置计数器。
这是你在找什么?

对于问题的第二部分,我同意克里斯托斯。

希望这有助于你

1

简单的办法是由5或3至增加你的变量在for循环?

for (int i = 0; i <=52; i+=5) 
{ 
    Console.WriteLine("Week" + i); 
} 
+0

这个oke知道什么了! – 2014-10-02 08:04:00

0

如果你有兴趣在学习LINQ,你可以这样做:

IEnumerable<string> thirdWeeks = Enumerable.Range(0, 52) 
    .Where((week, index) => index % 3 == 0) 
    .Select(week => string.Format("Week {0}", week + 1)); 
string allWeeksInOneLine = String.Join(Environment.NewLine, thirdWeeks); 
Console.Write(allWeeksInOneLine); 

如果你希望一个3周直插群体喜欢Week 1 Week 4 Week 7

var weeksGrouped = thirdWeeks 
    .Select((week, index) => new { week, index }) 
    .GroupBy(x => x.index/3) 
    .Select(g => String.Join("\t", g.Select(x => x.week))); 
string allWeeksGrouped = String.Join(Environment.NewLine, weeksGrouped); 
Console.Write(allWeeksGrouped); 

结果:

Week 1 Week 4 Week 7 
Week 10 Week 13 Week 16 
Week 19 Week 22 Week 25 
Week 28 Week 31 Week 34 
Week 37 Week 40 Week 43 
Week 46 Week 49 Week 52 
+0

谢谢!我会查找的! – user3727466 2014-10-02 08:26:16

+0

@ user3727466:请注意,我已经编辑它以告诉你如何获得三周的在线要求。 – 2014-10-02 08:27:36