标题:for语句里的变量代表什么,还有交错数组输出的时候是怎么弄的?
只看楼主
王小萌萌
Rank: 4
来 自:河南郑州
等 级:业余侠客
帖 子:45
专家分:204
注 册:2011-12-21
结帖率:100%
已结贴  问题点数:20 回复次数:4 
for语句里的变量代表什么,还有交错数组输出的时候是怎么弄的?
小女子初学C#,刚刚进行到交错数组这一部分,书上的部分代码自己研究来研究去还是不懂,放上来请高手指点一二!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace jagArray
{
  class Program
  {
  static void Main(string[] args)
  {
  int[][] jagArray=new int[2][];//方括号必须跟在类型后面,不能跟在变量后面
  jagArray[0] = new int[5];
  jagArray[1] = new int[3];
  for (int i = 0; i < jagArray.GetLength(0); i++)//jagArray.GetLength(0)表示获取jagArray第一维的大小
  {
  for (int j = 0; j < jagArray[i].Length; j++)
  jagArray[i][j] = i + j;
  }
  for (int k = 0; k < 2; k++)
  {
  Console.WriteLine("jagArray[{0}]:",k);
  for (int m = 0; m < jagArray[k].Length; m++)
  Console.Write("{0,-3}",jagArray[k][m]);//不换行显示
  Console.WriteLine(); //换行显示
   
  }
  }
  }
}
问题:
1、四个for语句里面的i,j,k,m分别代表什么?
2、红色字体的jagArray[i][j] = i + j是什么意思,为什么要用“+”??
3、红色标注的{0,-3}是什么意思?
在这里先谢谢各位啦!
搜索更多相关主题的帖子: class 小女子 
2011-12-30 10:05
yinniannian
Rank: 9Rank: 9Rank: 9
来 自:河北省石家庄
等 级:蜘蛛侠
威 望:2
帖 子:256
专家分:1007
注 册:2011-5-13
得分:10 
我也是初学者,我也不知道怎么回答你的问题,下面我给你解释一下代码吧。
int[][] jagArray=new int[2][];
jagArray[0] = new int[5];
jagArray[1] = new int[3];
这三句我不是太理解,个人感觉是(声明jagArray[0]是不是有五个元素即jagArray[0][0]…)
程序代码:
for (int i = 0; i < jagArray.GetLength(0); i++)//jagArray.GetLength(0)表示获取jagArray第一维的大小
{
    for (int j = 0; j < jagArray[i].Length; j++)
        jagArray[i][j] = i + j;
}

这个循环是赋值:
外循环,循环两次。i的取值是0,1
内循环,当i等于0的时候循环五次
        当i等于1的时候循环三次
然后你说的这句代码:i+j只是运算,没有其他的什么意义,换成什么都无所谓
jagArray[i][j] = i + j;
下面的两个循环和上面是一样的。
 Console.Write("{0,-3}",jagArray[k][m]);
0是占位符,负号就是为了让输出从第一位开始显示,3表示字符间隔,如果不加负号,第一个字符会空出2个符号位。
然后你说的i,j,k,m我感觉只是循环变量吧。没有看出什么来(可能是眼拙)

代做小型软件。
QQ:449795473
2011-12-30 14:11
王小萌萌
Rank: 4
来 自:河南郑州
等 级:业余侠客
帖 子:45
专家分:204
注 册:2011-12-21
得分:0 
回复 2楼 yinniannian
首先:
int[][] jagArray=new int[2][];//方括号必须跟在类型后面,不能跟在变量后面
jagArray[0] = new int[5];
jagArray[1] = new int[3];
jagArray是一个交错数组,就是说jagArray包含两个元素,这两个元素也是数组,一个包含5个元素,一个包含2个元素。下面两句正是给所包含的这两个数组初始化。(这个是我最近几天刚刚学到的,现炒现卖啦,嘿嘿)
其次:
for语句的内循环和外循环你说的太清楚了!我总算明白了,多谢!但是jagArray[i][j]=i+j,你说是运算,那么结果是什么?有人告诉我那时赋值,但我认为不是,还是不太懂。。。
然后:
那个万恶的{0,-3}我终于明白了,原来是字符间隔。之前在书上一看到0,-5;0,-10的我头都大了,死活不知道怎么回事。现在知道了,非常感谢!
2011-12-30 15:05
yinniannian
Rank: 9Rank: 9Rank: 9
来 自:河北省石家庄
等 级:蜘蛛侠
威 望:2
帖 子:256
专家分:1007
注 册:2011-5-13
得分:10 
jagArray[i][j]=i+j,这个表达式确实是赋值表达式。就是把数组的第i行第j列赋值为i+j的值。

代做小型软件。
QQ:449795473
2011-12-31 10:20
王小萌萌
Rank: 4
来 自:河南郑州
等 级:业余侠客
帖 子:45
专家分:204
注 册:2011-12-21
得分:0 
回复 4楼 yinniannian
的确,jagArray[i][j] = i + j;我把这句注释掉再运行的话,结果全部是0,原来这句才是真正在运算
2011-12-31 13:14



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-358902-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.618424 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved