欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    Java-数组实验.pdf

    • 资源ID:76250875       资源大小:11.88KB        全文页数:7页
    • 资源格式: PDF        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Java-数组实验.pdf

    实验七数组一实验目的1掌握数组相关常用算法2掌握方法的定义和调用二实验内容1.使用程序生成两行随机整数,整数之间用逗号分隔,并写入文本文件data.txt 中。Math.random()返回 0-1 之间的随机数,通过乘以 n 并取整可得到0n-1 之间的随机数。打开文件、关闭文件和写入文件的代码如下:BufferedWriter bw=new BufferedWriter(new FileWriter(data.txt);/打开文件bw.write(new Integer(x);/输出数据到文件bw.close();/关闭文件另外,bw.newLine()可在文件中输出换行符。写入数据类:package exp7(FileWrite);import java.io.BufferedWriter;import java.io.FileWriter;import java.io.IOException;public class FileWrite public FileWrite(String fileName,int n,int size)throws IOException /n 为需要写入的几行数,size 为一行有多少个数字BufferedWriter bw=new BufferedWriter(new FileWriter(fileName);/创建字符流for(int j=1;j=n;j+)for(int i=1;i=size;i+)int random=(int)(100*Math.random();/产生 0-100 之间的随机数String st=random+;/将整型转化为字符型数据bw.write(st);/写入文件if(i=size-1)bw.write(t);/在每个数据后面写入制表位 bw.newLine();/另起一行 bw.close();/关闭文件输出流 public FileWrite(int tar,String fileName)throws IOException BufferedWriter bw=new BufferedWriter(new FileWriter(fileName);for(int i=0;i tar.length;i+)String st=tari+;bw.write(st);if(itar.length-1)bw.write(t);bw.close();System.out.println(文件写入成功!);读出数据类(ReadData)package exp7;import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;import java.util.ArrayList;import java.util.Scanner;public class ReadData public static ArrayList readData(String fileName)throws IOException /创建 ArrayList 集合用于返回数组对象Scanner sc=new Scanner(new BufferedReader(new FileReader(fileName);/读入制定路径的文件ArrayList al=new ArrayList();/创建 ArrayList 集合while(sc.hasNextLine()/循环读出每行数据,并将每行数据装入数组中,再将数据装入集合中String st=sc.nextLine();/一次性读取整行数据String strArr=st.split(t);/根据制表位分割数组int lengths=strArr.length;/定义数组的长度int strToInt=new intlengths;/创建用于存储数字的整形数组for(int i=0;i strArr.length;i+)strToInti=Integer.parseInt(strArri);/将字符型数据转化为整型数据 al.add(strToInt);/将两个数组存入集合中 int a=al.get(0);return al;/返回集合对象 2 读 取 第 一 题 生 成 的data.txt文 件 中 的 第 一 行 整 数 存 放 到 整 型 数 组a 中。已 知System.currentMillis()方法可返回从1970 年 1 月 1 日到系统当前时间所经过的毫秒数。通过在算法代码执行前后分别调用该方法并求其差值,可定量测量代码的执行时间。使用实验六第三题的三种排序算法分别对数组a 进行排序,输出排序代码执行耗费的时间,并分析。为了得到测量数据,整数的数量应该足够大。表格中第一行为参与排序的数据个数,需要填写排序耗费的时间。100 1000 10000 冒泡排序12 57 545 选择排序8 52 281 快速排序10 55 109 3读取第一题生成的data.txt 文件中的整数分别存放到两个整型数组a 和 b 中。分别对a和 b 进行排序,然后将 a 和 b 中的数据合并到新数组c 中并保持数据有序。最后将排序后的数据写入到结果文件result.txt 中。方法一在合并的过程中排序合并类(SortAndSort):package exp7;import exp6.ArraySort;import java.io.FileNotFoundException;import java.io.IOException;public class SortAndSort public static int afterSort(int a,int b)throws FileNotFoundException int length=a.length+b.length;int c=new intlength;System.arraycopy(a,0,c,0,a.length);/将 a 数组的元素复制到c 数组中System.arraycopy(b,0,c,a.length,b.length);/将 b 数组的元素复制到c 数组中ArraySort.bubbleSort(c);/对 c 数组在进行排序return c;public static int conbineSort(int a,int b)throws FileNotFoundException ArraySort.bubbleSort(b);ArraySort.bubbleSort(a);/先对原始的数组a,b 进行排序int c=new inta.length+b.length;int i=0,j=0,k=0;while(i a.length&j b.length)if(ai bj)ck=ai;i+;k+;else ck=bj;j+;k+;if(i a.length)while(i a.length)ck+=ai+;else while(j b.length)ck+=bj+;return c;在测试类中进行测试package exp7;import java.io.IOException;public final class Exp7Demo public static void main(String args)throws IOException 实验备份百度云同步盘Javaworkspacedata.txt;实验备份百度云同步盘Javaworkspaceresult.txt;FileWrite newflie=new FileWrite(fileName,2,100);int a=ReadData.readData(fileName).get(0);int b=ReadData.readData(fileName).get(1);int c=SortAndSort.conbineSort(a,b);OutArray.outArray(c);newflie=new FileWrite(c,fileNameArr);/写入文件 方法二先合并后排序public static int afterSort(int a,int b)throws FileNotFoundException int length=a.length+b.length;int c=new intlength;System.arraycopy(a,0,c,0,a.length);/将 a 数组的元素复制到c 数组中System.arraycopy(b,0,c,a.length,b.length);/将 b 数组的元素复制到c 数组中ArraySort.bubbleSort(c);/对 c 数组在进行排序return c;4读取第一题生成的data.txt 文件中的第一行整数存放到整型数组a 中。使用顺序查找算法搜索指定的数据,并输出其下标。查找类(Search):package exp7;import java.io.FileNotFoundException;import exp6.ArraySort;public class Search public static void sequentialSearch(int a,int tar)throws FileNotFoundException int x=ArraySort.bubbleSort(a);int point=0;boolean flag=false;for(int i=0;i x.length;i+)/顺序查找,数组中所有能要匹配的下标if(tar=xi)flag=true;point=i;System.out.print(point+t);if(flag=false)System.out.println(没有找到搜索目标!);public static void dichotomySearch(int arra,int tar)throws FileNotFoundException int arr=ArraySort.selectSort(arra);int start=0;int end=arr.length-1;int middle=(start+end)/2;while(start=end)if(tar arrmiddle)start=middle+1;else System.out.println(middle);break;if(startend)System.out.println(沒有找到);5读取第 3 题生成的 result.txt 文件中的整数存放到整型数组a 中。使用折半查找算法搜索指定的数据,并输出其下标。public static void dichotomySearch(int arra,int tar)throws FileNotFoundException int arr=ArraySort.selectSort(arra);int start=0;int end=arr.length-1;int middle=(start+end)/2;while(start=end)if(tar arrmiddle)start=middle+1;else System.out.println(middle);break;if(startend)System.out.println(沒有找到);测试类(Exp7Demo):package exp7;import java.io.IOException;public final class Exp7Demo public static void main(String args)throws IOException 实验备份百度云同步盘Javaworkspacedata.txt;实验备份百度云同步盘Javaworkspaceresult.txt;FileWrite newflie=new FileWrite(fileName,2,100);int a=ReadData.readData(fileName).get(0);int b=ReadData.readData(fileName).get(1);int c=SortAndSort.conbineSort(a,b);OutArray.outArray(c);newflie=new FileWrite(c,fileNameArr);Search.sequentialSearch(c,5);Search.dichotomySearch(c,5);6使用数组实现进制转换。从键盘输入一个十进制数,将其转换成二进制、八进制以及十六进制数并输出。package exp7;import java.util.Scanner;public class SystemSwitch public static void transfort(int tar,int n)/输入要转化的数和要转换的进制char x=new char1000;int i=0;/记录一个转化了多少次while(tar!=0)int m=tar%n;if(m=0;i-)/讲数组倒者输入System.out.print(xi);public static void main(String args)Scanner sc=new Scanner(System.in);int tar=sc.nextInt();int n=sc.nextInt();SystemSwitch.transfort(tar,n);tar=sc.nextInt();n=sc.nextInt();SystemSwitch.transfort(tar,n);【实验小结】实验准备和过程实验结果实验报告总分

    注意事项

    本文(Java-数组实验.pdf)为本站会员(索****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开