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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 赵年为   /  2015-11-2 09:58  /  1764 人查看  /  30 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


这题出的够意思吧.有难度的.否则我也不会在贴吧问喽
回复 使用道具 举报
加油!加油!加油!加油!加油!加油!加油!加油!加油!
回复 使用道具 举报
import java.util.*;
class Testt
{
        public static void main(String args[])
        {
                int[] arr = {1,3,1,0,5,0,5,0,4,0,2,0,10,40,3,0};
                newInts(arr);
        }
        public static void newInts(int[] arr)
        {
                ArrayList<Integer> al = new ArrayList<Integer>();
                for(int i=0;i<arr.length;i++)
                {
                        al.add(Integer.valueOf(arr[i]));
                }
               
                ArrayList<Integer> newList = new ArrayList<Integer>();
               
                Iterator<Integer> it = al.iterator();
                while(it.hasNext())
                {
                        Integer in = it.next();
                        if(!in.equals(Integer.valueOf(0)))
                        {
                                newList.add(in);
                        }
                }
                for(Integer in:newList)
                {
                        System.out.println(in);
                }
        }
}
回复 使用道具 举报
跟毕老师讲的有个例子很像,就是去掉重复字符串的那个,你参考下。。。原理都一样。

点评

是吗?好的.谢谢  发表于 2015-11-6 23:06
回复 使用道具 举报
Jared 中级黑马 2015-11-6 23:22:04
25#
遍历数组,定义计数器,遍历到0计数器++,然后定义一个数组,长度是原先数组长度减去计数器,再遍历原先数组把不是0的存进去
回复 使用道具 举报
可以先把数组转换为字符串,然后正则表达式切割程字符串数组,然后再转换为字符串,转回int数组
回复 使用道具 举报
又或者先遍历数组,求出不为0个元素个数,新建一个数组,长度以原数组元素不为0的个数为长度,然后对原数组进行遍历判断,不为0的添加进新数组
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马