黑马程序员技术交流社区

标题: 大家来解决 [打印本页]

作者: lanyu    时间: 2015-9-27 09:51
标题: 大家来解决
int[] a = {1.3.4.5};
int[] b = {1,3,4,5,6,7,8};
写个小程序,找出两个数组中的不同元素

作者: 大头兵123456789    时间: 2015-9-27 10:36
新人,不知道写.搞了半天
作者: cemabenteng    时间: 2015-9-27 10:47
基础班的内容吧,太简单了这个
作者: 朦胧色彩    时间: 2015-9-27 11:56
  1. class Test
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 int[] a = {1,3,4,5};
  6.                 int[] b = {1,3,4,5,6,7,8};

  7.                 /*
  8.                  * getDifferents(a, b),枚举a数组元素在b数组中找,看看a数组的这个元素b中有没有
  9.                  * getDifferents(b, a),枚举b数组元素在a数组中找,看看b数组的这个元素a中有没有
  10.                  * 上面两个返回值用连接符 连接 就是最终答案
  11.                  * 输出的时候,diff.substring(0, diff.length() - 1) 是为了去掉字符串最后的逗号
  12.                  */
  13.                 String diff = getDifferents(a, b)+getDifferents(b, a);
  14.                 System.out.println(diff.substring(0, diff.length() - 1));
  15.                
  16.         }

  17.         public static String getDifferents(int[] a, int[] b)
  18.         {
  19.                 String differents = "";// 记录不同的元素
  20.                 for(int n = 0 ;n < a.length ; n++)
  21.                 {
  22.                         int m;
  23.                         for(m = 0; m < b.length ; m++)
  24.                         {
  25.                                 //如果相等就跳出,下一个元素
  26.                                 if(a[n] == b[m])
  27.                                 {
  28.                                         break;
  29.                                 }
  30.                         }
  31.                         //如果角标等于少元素的数组长度,说明这个数组里没有这个元素
  32.                         if(m == b.length)
  33.                                 differents += a[n] + ",";
  34.                 }
  35.                 return differents;
  36.         }

  37. }
复制代码

刚刚才做了一遍!不知道对不对!不对,请指出!谢谢!
作者: yi秒的危笑    时间: 2015-9-27 12:20
楼上正解
作者: lanyu    时间: 2015-9-27 13:55
朦胧色彩 发表于 2015-9-27 11:56
刚刚才做了一遍!不知道对不对!不对,请指出!谢谢!

是对的,我刚才运行了,谢谢!谢谢!谢谢!
作者: lostyou    时间: 2015-9-27 16:28
朦胧色彩 发表于 2015-9-27 11:56
刚刚才做了一遍!不知道对不对!不对,请指出!谢谢!

6666 可以的
作者: 冰霜之卅    时间: 2015-9-27 16:36
朦胧色彩 发表于 2015-9-27 11:56
刚刚才做了一遍!不知道对不对!不对,请指出!谢谢!

为什么不直接定义Int 数组
要转成String 呢 ?
出于什么考虑。。

作者: 朦胧色彩    时间: 2015-9-27 17:16
冰霜之卅 发表于 2015-9-27 16:36
为什么不直接定义Int 数组
要转成String 呢 ?
出于什么考虑。。

因为有多少个不同,这个不确定啊,如果给定的两个数组很多的话,有很多不同元素,那就不清楚定义int数组的长度要多长才够了。我是这么想的。
作者: 尼玛个鸡    时间: 2015-9-27 17:48
不错,学习到了~!
作者: 水果牛牛    时间: 2015-9-27 17:48
我来学习学习
作者: 向阳啊    时间: 2015-9-27 18:37
来学知识张见识了
作者: 往事如风555    时间: 2015-9-27 22:48
谢谢分享




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2