有关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学习路线图和视频,需要学习哪些知识点也都写的非常清楚,都一一列出了,需要的可以搜来学习。
ihostart怎么样?ihostart是一家国外新商家,主要提供cPanel主机、KVM VPS、大硬盘存储VPS和独立服务器,数据中心位于罗马尼亚,官方明确说明无视DMCA,对版权内容较为宽松。有需要的可以关注一下。目前,iHostART给出了罗马尼亚vps的优惠信息,罗马尼亚VPS无视DMCA、抗投诉vps/2核4G内存/40GB SSD/100M端口月流量2TB,€20/年。点击直达:ih...
RFCHOST,这个服务商我们可能有一些朋友知道的。不要看官网是英文就以为是老外服务商,实际上这个服务商公司在上海。我们实际上看到的很多商家,有的是繁体,有的是英文,实际上很多都是我们国人朋友做的,有的甚至还做好几个品牌域名,实际上都是一个公司。对于RFCHOST商家还是第一次分享他们家的信息,公司成立大约2015年左右。目前RFCHOST洛杉矶机房VPS正进行优惠促销,采用CN2优化线路,电信双...
virmach怎么样?virmach家这几年非常火,从商家的黑五闪购开始,以超低的价格吸引了大批的国人客户,而且商家的机器还是非常稳定的,站长手里的4.75刀年付已经用了两年了,非常稳定,不过商家到国内的线路一般,目前商家新上了夏季优惠促销,价格低到发指,年付7.2美元起,商家反馈将在9月开始更换AMD+NVMe平台,这个消息从年初就有了,不过一直没有更换,目前这个时间也不确定是否准确。点击进入:...
io编程为你推荐
中国学生网如何在中国高等教育学生信息网填学生信息旺旺群发软件求一个旺旺群发软件youtube创始人李开复的创新工场是做什么的啊???国家法规数据库哪个常用的法律APP比较好用?broadcast播播……拼音cursorlocationsession("rs").cursorlocation=3是什么意思?淘码除了爱码,现在哪个验证码平台还能用gbk内码怎么查GBK内码?彩信平台目前国内有哪些短信平台服务商,怎么排名?怎样删除聊天记录自己已发出的微信聊天记录怎样删除才不会让对方看见
域名备案收费吗 lamp arvixe 2014年感恩节 xfce 2017年万圣节 xen 老左正传 cdn加速原理 网通服务器托管 电信托管 申请免费空间 双线空间 国外网页代理 双十二促销 建站技术 so域名 pptpvpn iptables neicun 更多