有关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学习路线图和视频,需要学习哪些知识点也都写的非常清楚,都一一列出了,需要的可以搜来学习。
Sharktech 鲨鱼机房商家我们是不是算比较熟悉的,因为有很多的服务商渠道的高防服务器都是拿他们家的机器然后部署高防VPS主机的,不过这几年Sharktech商家有自己直接销售云服务器产品,比如看到有新增公有云主机有促销活动,一般有人可能买回去自己搭建虚拟主机拆分销售的,有的也是自用的。有看到不少网友在分享到鲨鱼机房商家促销活动期间,有赠送开通公有云主机$50,可以购买最低配置的,$49/月的...
OneTechCloud(易科云)是一家主打CN2等高端线路的VPS主机商家,成立于2019年,提供的产品包括VPS主机和独立服务器租用等,数据中心可选美国洛杉矶、中国香港、日本等,有CN2 GIA线路、AS9929、高防、原生IP等。目前商家针对全场VPS主机提供月付9折,季付8折优惠码,优惠后香港VPS最低季付64元起(≈21.3元/月),美国洛杉矶CN2 GIA线路+20Gbps防御型VPS...
香港ceranetworks提速啦是成立于2012年的十分老牌的一个商家这次给大家评测的是 香港ceranetworks 8核16G 100M 这款产品 提速啦老板真的是豪气每次都给高配我测试 不像别的商家每次就给1核1G,废话不多说开始跑脚本。香港ceranetworks 2核2G 50G硬盘20M 69元/月30M 99元/月50M 219元/月100M 519元/月香港ceranetwork...
io编程为你推荐
机房360学校有4个机房,机房1有50台,机房2有40台, 机房3有的38台,机房4有的35台,有网络IP21腾讯搜索引擎我在腾讯视频中上传了一个视频,我在搜索引擎中输入关键字搜视频为什么找不到了?dnf装备代码DNF代码,装备,不是EX爱短信官网求助。爱短信爱聊怎么用?scriptmanagerScriptManager是什么代发邮件邮件代发会不会有短信代发那么好的市场效益呢?pps官网pps软件下载中心 pps影视软件下载listviewitem求解如何获取listview中的item国家法规数据库哪个常用的法律APP比较好用?微信如何只发文字微信朋友圈怎样只发文字
edgecast buyvm rackspace 紫田 payoneer 申请空间 韩国网名大全 太原联通测速平台 asp免费空间申请 重庆双线服务器托管 银盘服务 万网主机管理 架设邮件服务器 日本代理ip 网站加速 腾讯云平台 空间排行榜 中美互联网论坛 ncp是什么 压力测试工具 更多