让我们说:
for (int x = 1, int y = 1; x <=200, y <=4; x++, y++)
我需要它,因为我的网络服务器上有一些图像,名称如下:
1501.png,1502.png,1503.png,1504.png
1511.png,1512.png,1513.png,1514.png
如您所见,我的图像名称中的最后一位数字是y,前3位是x。
我想使用类似的东西:
[@"mywebsite/%i%i.png", x , y]
有什么建议吗?
答案 0 :(得分:4)
你会做这样的事情:(嵌套循环)
for (int x = 1; x <= 200; x++) {
for (int y = 1; y <=4; y++) {
//Do your logic here like
NSString *filename = [NSString stringWithFormat:@"mywebsite/%d/%d.png", x, y];
}
}
答案 1 :(得分:3)
将一个循环放在另一个循环中更清楚:
for (int x = 1; x <=200; x++) {
for(int y = 1; y <=4; y++) {
// [@"mywebsite/%i%i.png", x , y]
}
}
我还建议使用比x和y更具描述性的名称
答案 2 :(得分:2)
for(x=1; x<=200; x++)
{
for(y=1; y<=4; y++)
{
NSString * filename = [NSString stringWithFormat: @"mywebsite/%i%i.png", x, y];
}
}
答案 3 :(得分:1)
听起来你想使用嵌套for循环。
我认为这样的事情可以完成你或之后的事情
for (int i = 10 i <= 200; i++) {
for (int j = 1; j <=4; j++) {
//Do something with the i and j value for file name.
}
}
答案 4 :(得分:1)
我需要它,因为我的网络服务器上有一些图像,名称如下:
你也可以使用一个for循环并改变控制变量。
for(int i = 1; i<2005; ++i){
if (! (i% 5 == 0)) {
NSLog(@"%d", i);
} else {
i+= 5;
}
}
输出:
…
1501
1502
1503
1504
1511
1512
1513
1514
1521
1522
1523
1524
…
或更一般:
int COLUMN = 4;
int ROW = 10;
for(int i = 1; i<2000+(COLUMN+1); ++i){
if (! (i% ROW == (COLUMN+1))) {
NSLog(@"mywebsite/%04i.png", i);
} else {
i+= ROW -(COLUMN+1);
}
}
输出
…
mywebsite/1501.png
mywebsite/1502.png
mywebsite/1503.png
mywebsite/1504.png
mywebsite/1511.png
mywebsite/1512.png
mywebsite/1513.png
mywebsite/1514.png
mywebsite/1521.png
mywebsite/1522.png
mywebsite/1523.png
mywebsite/1524.png
…
答案 5 :(得分:0)
不可能:如果您按照建议在一个循环中使用了2个整数,则x和y将完全相同。它们都从1开始,每次循环时数到1。你是说x&lt; = 200 OR / AND y&lt; = 4。这一切都没有,因为x = y整个时间。如果我有代表,我会投票给Nick的答案。
您遇到的问题的正确解决方法是嵌套循环,正如之前多次提到的那样,但上述答案缺乏解释并只包含代码,如果你不知道如何使用它就没用了。
<强>代码强>
for(i=1; i<=200; i++)
{
for(j=1; j<=4; j++)
{
//your code here
}
}
解释:这段代码基本上说,每次我增加1(一直到200),j将从嵌套循环内的1-4计数。
答案 6 :(得分:-1)
这是否能真正解决你的问题,我想我会回答这里提出的真实问题。 For loop with two integers
。
int x, y;
for (x = 1, y = 1; x <= 200 || y<= 4; x++, y++)