A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© honeys天空s 中级黑马   /  2013-11-29 22:07  /  1468 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 honeys天空s 于 2013-11-30 15:35 编辑

如何初始化数组的一部分或者全部的元素啊? 还有怎样编程实现两个数组是否相等,用vector怎么实现?

评分

参与人数 1技术分 +1 收起 理由
V_John + 1

查看全部评分

9 个回复

倒序浏览
数组一初始化,就不会再改变,除非你在源代码中去改变定义好的数组长度。

比较两个数组是否相等,你可以写一个for循环去遍历这个数组,每个值去比较,如果有一个不一样,就不相等
     
  1. public static boolean equals(int[] a,int[] b){
  2.         for (int i=0;i!=(a.length<b.length?a.length:b.length);i++)   //选择短的数组作为i的最大值
  3.             if (a[i]!=b[i]) return false;  //有一个不相等就返回false
  4.         return true;
复制代码

评分

参与人数 1技术分 +1 收起 理由
V_John + 1 赞一个!

查看全部评分

回复 使用道具 举报
//初始化一个长度为5的int数组
        int[] array1 = new int[5];

//初始化并赋值
        int[] array2 = new int[] { 1, 3, 5, 7, 9 };
比较两个组是否相同:
            int[] arry1=new int[]{1,2,3,4,5};
            int[] arry2 = new int[] { 1,2,3,4,5};
            int j = 0;
            for (int i = 0; i < arry1.Length; i++)
            {

                foreach (int item in arry2)
                {
                    if (arry1[i] == item)
                    {
                        Console.WriteLine("第{0}个相同", i);

                    }
                    continue;
               
                   }
                j++;
               
            }
            Console.WriteLine("总共有{0}个元素", j);
            Console.ReadKey();

评分

参与人数 1技术分 +1 收起 理由
V_John + 1

查看全部评分

回复 使用道具 举报
1、如何初始化数组的一部分或者全部的元素啊?
在数组定义的时候赋值,可以部分赋值,不过静态数组在没有赋值的部分会自动赋值,例如:int类型的数组若没有赋值,初始化为0,
2、还有怎样编程实现两个数组是否相等,
这个方法比较多,可以用for循环比较或者用foreach遍历比较,就是一个一个拿出来对比
3、用vector怎么实现?
vector是一个容器,用于组织线性序列中给定类型的元素。 它使规则中的任何元素,和动态添加和移除并快速的随机访问。 我没有用过vector,你可以参考一下MSDN上面的,
http://msdn.microsoft.com/zh-cn/library/vstudio/sxcsf7y7(v=vs.110).aspx

评分

参与人数 1技术分 +1 收起 理由
V_John + 1

查看全部评分

回复 使用道具 举报
为梦而生 发表于 2013-11-29 22:27
数组一初始化,就不会再改变,除非你在源代码中去改变定义好的数组长度。

比较两个数组是否相等,你可以写 ...

a.length<b.length?a.length:b.length  是什么意思啊?
回复 使用道具 举报
u010209195 发表于 2013-11-30 14:53
1、如何初始化数组的一部分或者全部的元素啊?
在数组定义的时候赋值,可以部分赋值,不过静态数组在没有赋 ...

恩恩 感谢您的答案 我明白许多 也编出来了 非常谢谢
回复 使用道具 举报
黑马—严守卫 发表于 2013-11-30 12:51
//初始化一个长度为5的int数组
        int[] array1 = new int[5];

谢谢你的例子 我执行了一下 一目了然 设断点后明白了

评分

参与人数 1技术分 +1 收起 理由
V_John + 1

查看全部评分

回复 使用道具 举报


是一个三元表达式(或者称为条件表达式) object ob=a<b?a:b, 若a<b为真(true),则结果为object ob=a;若若a<b为假(false),则结果为object ob=b;和下面这种形式差不多
  1. object ob;
  2. if(a<b)
  3. {
  4. ob=a
  5. }
  6. else
  7. {
  8. ob=b
  9. }
复制代码
回复 使用道具 举报
u010209195 发表于 2013-11-30 15:56
是一个三元表达式(或者称为条件表达式) object ob=a

ao 明白了 式子好长  所以 一下没看出来  还是谢谢你的解释
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马