有关IO流的JAVA编程,要求:把一个数组的元素复制到另个数组;去除重复元素不能用SET集合
.ajax.test;
import java.io.File;
import java.io.FileWriter;
import java.util.Arrays;
/**
* 把一个数组的元素复制到另个数组; 去除重复元素不能用SET集合; 每次复制的记录输到一个文件里
*
* @author ajax_2003
* @version 1.0, 2009-7-26
*
*/
public class CopyArrayAndRemoveDuplicate {
private static String FILE_PATH = "d:/abc.txt";
private static File file;
static {
file = new File(FILE_PATH);
}
/**
* 取出冗余数据
*
* @param nums
* 原数组
*/
private int[] removeDuplicate(int[] nums) throws Exception {
int[] tmpArray = new int[nums.length];
int count = 0;
loop: //
for (int i = 0; i < nums.length; i++) {
int tmp = nums[i];
for (int j = 0; j < count; j++) {
if (tmp == tmpArray[j])
continue loop;
}
tmpArray[count++] = tmp;
log("成功复制了元素" + tmp);// 写日志
}
return copyArray(tmpArray, 0, count);
}
/**
* 拷贝数组
*
* @param srcArray
* 要拷贝的数组
* @param startIndex
* 拷贝起始索引
* @param endIndex
* 拷贝结束索引
* @return 结果数组
*/
private int[] copyArray(int[] srcArray, int startIndex, int endIndex)
throws Exception {
if (endIndex <= startIndex)
throw new Exception("Argumens wrong!");
int[] desArray = new int[endIndex - startIndex];
System.arraycopy(srcArray, startIndex, desArray, 0, desArray.length);
return desArray;
}
/**
* 输出操作日志(即: 每次复制的记录输到一个文件里)
*
* @param oprate
*/
private void log(String oprate) {
FileWriter out = null;
try {
out = new FileWriter(file, true);
out.write(oprate + "
");
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (out != null)
out.close();
out = null;
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
public static void main(String[] args) {
int[] nums = { 1, 223, 1, 2, 2, 2, 3, 2, 3, 34, 45, 5, 5, 3, 23, 2, 2,
3, 4, 5, 5, 6, 7, 78, 8, 9, 34, 90, 45, 675, 4, };
int[] finalArray;
try {
finalArray = new CopyArrayAndRemoveDuplicate()
.removeDuplicate(nums);
System.out.println(Arrays.toString(finalArray));
} catch (Exception e) {
e.printStackTrace();
}
}
}
有些地方可能考虑的不完全,见谅!我也想学java的编程,但不知道怎么学,请学过的人告一下学习的方法,谢了!
首先要知道学java要用来干什么?里面有两个主要的方向,j2ee,j2me,前者用于开发企业级应用系统,后者用于手机,还有个j2se用于桌面程序,但不管你学哪个,j2se是基础,先把基础学好再说,但有时候光看基础可能不能有深刻体会,可以先快速往后学再回过来巩固基础的方法。
如何自学Java编程?有自学过的朋友么
Java自学的顺序首先是javaSE:基础语法、递归、面向对象、异常处理、数组、常用类、IO、线程、网络编程基本的章节顺序就是这样的。
学好了javaSE就是java基础的一些东西之后,有两个方向,JavaEE(某宝京东等) 与 Android(移动APP,近期 Android 需求没那么大了)。
如果是 JavaEE 方向,就可以学习 JavaWeb 了,包含(HTML、CSS、servlet、jsp等),Web 后可以做个 web 项目。
之前都是为后面框架打基础,值后就会学习各种框架(如:Spring、SpringMVC、Mybatics 简称SSM等)。
当框架学完后,这个时候会发现很得心应手。
而在自学java过程一定要理论结合实践,多操作,在实践中才能发现问题,解决问题,这样才能提高。
最后个人经验多说一点,看书自学实在很枯燥,可以看尚硅 谷的谷粒学院Java学习路线图和视频,需要学习哪些知识点也都写的非常清楚,都一一列出了,需要的可以搜来学习。
VPSMS最近在做两周年活动,加上双十一也不久了,商家针对美国洛杉矶CN2 GIA线路VPS主机提供月付6.8折,季付6.2折优惠码,同时活动期间充值800元送150元。这是一家由港人和国人合资开办的VPS主机商,提供基于KVM架构的VPS主机,美国洛杉矶安畅的机器,线路方面电信联通CN2 GIA,移动直连,国内访问速度不错。下面分享几款VPS主机配置信息。CPU:1core内存:512MB硬盘:...
RAKsmart怎么样?RAKsmart机房即日起开始针对洛杉矶机房的独立服务器进行特别促销活动:低至$76.77/月,最低100Mbps带宽,最高10Gbps带宽,优化线路,不限制流量,具体包括有:常规服务器、站群服务器、10G大带宽服务器、整机机柜托管。活动截止6月30日结束。RAKsmart,美国华人老牌机房,专注于圣何塞服务器,有VPS、独立服务器等。支持PayPal、支付宝付款。点击直达...
易探云怎么样?易探云(yitanyun.com)是一家知名云计算品牌,2017年成立,从业4年之久,目前主要从事出售香港VPS、香港独立服务器、香港站群服务器等,在售VPS线路有三网CN2、CN2 GIA,该公司旗下产品均采用KVM虚拟化架构。目前,易探云推出免备案香港物理机服务器性价比很高,E3-1230 8 核*1/16G DDR3/SATA 1TB/香港BGP线路/20Mbps/不限流量,仅...
io编程为你推荐
时间刻度Microsoft Project 时间刻度怎么更改isbackgroundbokeh是什么意思短信营销方案短信营销怎么才能更有效果呢?怎么用电脑发短信谁知道怎样能用电脑给手机发短信刷ip流量请问刷流量刷IP有什么用的!java程序员招聘Java程序员,一般招聘都要求些啥cursorlocation如何用ENVI把不同图像中的相同地点的某个像素点的值读出来。按时间把这个点的值连起来,。谢谢好人。防火墙技术应用在网络支付流程中,防火墙技术与数据加密技术应用则重点有什么不同?yui3YUI最详细的资料怎么查微信注册时间怎么知道微信上次登录时间
万网域名查询 ip反查域名 域名管理 韩国空间 z.com 铁通流量查询 linux空间 jsp空间 免费美国空间 空间登录首页 宏讯 中国电信测速器 dnspod 新加坡空间 免费稳定空间 闪讯网 accountsuspended cdn加速技术 apachetomcat wannacry勒索病毒 更多