第一篇:河南工业大学java实验四
Henan University of Technology Experiment’s Report
班级
计科1201
姓名:
学号
201216010506
成绩
实验4—— Java的输入机制
I 实验目的
(1).Java如何操作文件
(2).了解Java中的输入机制;如何从控制台输入,如何用InputStream和Reader显示文件中的内容。II 实验内容
(1).递归遍历目录,显示其中的文件名。
a.源代码
b.package com.fileTest;c.d.import java.io.File;e.f.public class BianLi { // 遍历目录,显示文件的名字 g.h./** i.* @param args j.*/
k.public static void main(String[] args){ l.m.File f = new File(“D:/360安全浏览器下载”);//创建一个File对象 n.listChids(f);//调用 一个列出目录的方法 o.p.} q.r.s.t.public static void listChids(File f){ u.v.System.out.println(f.getName());w.x.if(!f.isDirectory()){ //如果 不是目录,退出
y.z.return;aa.}else{
Henan University of Technology Experiment’s Report
bb.cc.File[] fs = f.listFiles();dd.for(int i=0;i (2).用InputStream的子类读入一个英文文本文件,并用System.out显示其中的内容。 a.源代码 b.package com.fileTest;c.d.import java.io.*;e.f.public class Fileinput { g.h./** i.* @param args j.*/ k.public static void main(String[] args)throws IOException l.{ m.o.p.q.r.s.} t.// TODO Auto-generated method stub String file = “src/abc.java”;// 英文本文件 Fileinput d = new Fileinput();//实列化对象 d.readFile(file);// 调用readFile 方法 n.Henan University of Technology Experiment’s Report u.public void readFile(String fileName)throws IOException{ v.w.x.y.z.aa.bb.cc.dd.ee.ff.gg.hh.ii.jj.kk.ll.mm.nn.} oo.pp.} InputStream in = new FileInputStream(fileName);// 创建字节流对象 // TODO Auto-generated method stub try{ } int b = 0;while(true){ } if(in!=null)in.close();//关闭流 b = in.read();//得到内容判断是否结束 if(b==-1) break;System.out.print((char)b);// 得到内容进行处理,转换成字符型 输出 }finally{ qq.运行截图 rr.(3).用Reader的子类读入一个字符文件,并用System.out显示其中的内容。1源代码 package com.fileTest; import java.io.*; Henan University of Technology Experiment’s Report public class FileReaderBy { } public void readFile(String filename)throws IOException { } // TODO Auto-generated method stub BufferedReader b = null;try{ String line = null;//得到内容并判断是否到流的末尾 b =new BufferedReader(new FileReader(filename),8*1024);/** * @param args * @throws IOException * */ public static void main(String[] args)throws IOException { } // TODO Auto-generated method stub FileReaderBy a = new FileReaderBy();//创建一个对象 a.readFile(“src/fly.txt”);//调用方法读入字符文件 while((line = b.readLine())!=null){ //得到的内容进行处理 System.out.println(line);// 输出结果 } } finally { } if(b!=null)b.close();//关闭流 运行截图 Henan University of Technology Experiment’s Report (4).从控制台输入Student类的信息,包括学号、姓名、年龄,如输入错误,提示用户重新输入。创建该类,并在toString方法中输入个人信息。1源 package FileInput; import com.java.ErrorException; public class Students { // 学号 private long num;//姓名 private String name;//年龄 private int age;public Students(){ } public void setId(long num){ this.num = num;} public void setName(String name){ } public void setAge(int age)throws ErrorException { if(age<0||age>120)this.age= age;this.name = name; throw new ErrorException(); Henan University of Technology Experiment’s Report } } @ Override public String toString(){ } return num+“ ”+name+“ ”+age;//返回个人信息 代码 public class ByScanner { /** * @param args */ public static void main(String[] args){ // TODO Auto-generated method stub Students s = new Students();Scanner sc = new Scanner(System.in);int id =0;String name=null;;int age =0;String len = null; while(true){ try{ System.out.println(“请输入学号”);len= sc.nextLine();id = Integer.parseInt(len); s.setId(id);break;} catch(Exception e){ sc.nextLine();System.out.println(“ Input error,please innput again!”); } } while(true){ try{ System.out.println(“请输入姓名”);name = sc.next();s.setName(name);break; Henan University of Technology Experiment’s Report } catch(Exception e){ sc.nextLine();System.out.println(“ Input error,please innput again”);} } while(true){ try{ System.out.println(“请输入年龄”); age = sc.nextInt();s.setAge(age);break;} catch(Exception e){ sc.nextLine();System.out.println(“ Input error,please innput again”);} } System.out.println(“该学生的信息为:”+ s.toString()); } } 运行截图 (5).增加(1)中的功能,显示文件的大小,目录的话显示其中包括的所有文件的大小。注意显示文件大小的单位(KB或MB)。 a.源代码 b.package filebianli;c.Henan University of Technology Experiment’s Report d.e.import java.text.DecimalFormat;f.import java.io.*;g.public class Bianli h.{ i.public long getFileSizes(File f)throws Exception{//取得文件大小 j.long s=0;k.if(f.exists()){ l.FileInputStream fis= new FileInputStream(f);m.s= fis.available();n.} else { o.f.createNewFile();p.System.out.println(“文件不存在”);q.} r.return s;s.} t.// 递归 u.public long getFileSize(File f)throws Exception//取得文件夹大小 v.{ w.long size = 0;x.File flist[] = f.listFiles();y.for(int i = 0;i < flist.length;i++)z.{ aa.if(flist[i].isDirectory())bb.{ cc.size = size + getFileSize(flist[i]);dd.} else ee.{ ff.size = size + flist[i].length();gg.} hh.} ii.return size;jj.} kk.public String FormetFileSize(long fileS){//转换文件大小 ll.DecimalFormat df = new DecimalFormat(“#.00”);mm.String fileSizeString = “";nn.if(fileS < 1024){ oo.fileSizeString = df.format((double)fileS)+ ”B“;pp.} else if(fileS < 1048576){ qq.fileSizeString = df.format((double)fileS / 1024)+ ”K“;rr.} else if(fileS < 1073741824){ ss.fileSizeString = df.format((double)fileS / 1048576)+ ”M“;tt.} else { uu.fileSizeString = df.format((double)fileS / 1073741824)+ Henan University of Technology Experiment’s Report ”G“;vv.} ww.return fileSizeString;xx.} yy.zz.public long getlist(File f){//归求取目录文件个数 aaa.bbb.ccc.ddd.eee.fff.ggg.hhh.iii.jjj.kkk.lll.mmm.nnn.ooo.ppp.qqq.rrr.sss.ttt.uuu.vvv.www.xxx.yyy.zzz.aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.System.out.println(f.getName());long size = 0;File flist[] = f.listFiles();size=flist.length;for(int i = 0;i < flist.length;i++){ if(flist[i].isDirectory()){ size = size + getlist(flist[i]);size--;} } return size;} public static void main(String args[]){ Bianli g = new Bianli();try { long l = 0; File f = new File(”D:/360安全浏览器下载“);if(f.isDirectory()){ //如果路径是文件夹的时候 System.out.println(”文件个数 “ + System.out.println(”目录“);l = g.getFileSize(f);System.out.println(”目录的大小为:“ + } else { System.out.println(” 文件个数 1“);System.out.println(”文件“);l = g.getFileSizes(f);System.out.println(”文件的大小为:“ + } g.getlist(f));g.FormetFileSize(l));g.FormetFileSize(l)); Henan University of Technology Experiment’s Report jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp.qqqq.} catch(Exception e){ e.printStackTrace();} } } rrrr.运行截图 ssss.tttt.III 在本次实验中的问题和解决方法 那个第四题 当输入学号如果是0开头,那输出结果就会被舍弃因为不是一个数,如果非要输入0开头的学号,还没找到解决的办法,解决了那个输学号空格问题,解决年龄超过一定数和负数问题,文件显示大小出现的问题,看了下博客园的写的。IV心得体会 Java 博大进深,不懂的很多的,继续努力学习吧 #include int stepLength = 0; Henan University of Technology Experiment’s Report int j = 0; while(arv[1][j]!= 0){ stepLength = stepLength * 10 +(arv[1][j]timeStart));free(arr);return 0;} double wtime(void){ double now_time;struct timeval etstart;struct timezone tzp;if(gettimeofday(&etstart , &tzp)==-1){ perror(”not successful!n"); } now_time =((double)etstart.tv_sec)+((double)etstart.tv_usec)/1000000;return now_time;} 外语学院 (一)学院简介 学院拥有专任教师94人,其中硕士生导师8人,教授及副教授40人;博士及在读博士18人,具有硕士学位教师74人,具有博士学位教师6人。专人教师中30多人次曾到英国、美国、澳大利亚等国外著名大学的进行访学或培训。常年聘有5-6名英、美、日等国的外籍教师。学院积极探索教学内容、手段和方法的改革,教学水平不断提高,近3年来共有9人次获得省级教学技能大奖赛,先后有15位教师荣获“河南省教学技能大赛” 一、二等奖,3位教师为河南省教育厅学术技术带头人,1位教师学获“河南省教学标兵”,3人获校级教学标兵。22人次获河南工业大学教学大奖赛一、二等奖。 学院承担英语、日语专业研究生和本科生教学,还承担着全校研究生英语、本专科生的公共英语、英语双学位及全校第二外语日语和俄语的教学任务。 英语专业于1996年开设,是河南省工科院校中最早开设本专业的学校之一。2005年增设口译方向,2010年增设笔译方向。2007年招收外国语言及应用语言学二级学科硕士研究生,2011年招收外国语言文学一级学科硕士点硕士研究生。目前学院招收2个本科专业:英语专业、日语专业。 学院资料室专业书籍和音像资料丰富,教学设备先进,拥有同声传译及多媒体语言实验室达26个。设有翻译及语言测试研究所、中国政法大学法律英语教学与测试研究中心河南工业大学分中心等科研机构。 (二)招生专业 英语专业(文史 四年制本科)培养目标: 英语专业培养具有自主学习能力和跨文化交际能力,能在外事、经贸、文化、新闻出版、教育、科研、旅游等领域从事翻译、研究、教学、管理工作的高素质 德才兼备的应用型人才。本专业的学生具备扎实的英语基础、娴熟的英语语言技能与较强的文化意识,同时具备相关专业的基本知识和技能。 培养模式与特色: 为了适应现代化建设和改革开放对人才的要求,英语专业以语言加专业为办学特色,采用“英语+经贸”、“英语+翻译”培养模式。其中,翻译方向分为口译和笔译,入校第四学期期末,经测试后划分具体方向。 本专业人才培养模式以“国际导向、应用为主”为定位,以学生综合能力培养为基点,以英语应用能力培养为主线,以外语专业技能知识为主体,重点培养学生GPC能力:通用能力(General ability、专业能力(particular ability)和核心能力(Core ability),构建知识和技能贯通的有机整体,形成脉络清晰的专业课程模块,最大限度保证学生知识和能力的循序形成和巩固拓展,进阶发展。 专业方向 英语专业(经贸方向): 本专业旨在培养适应经济建设需要既懂外语又懂经贸知识的厚基础、宽口径的应用型人才,使学生具有坚实的英语语言基础和熟练的听、说、读、写、译的能力,掌握经贸基础理论,既能继续深造又能在毕业后迅速适应工作。 英语专业(翻译方向): 翻译方向分口译和笔译。 通过讲授口译基本理论、口译背景知识、口译基本技巧、相关口译知识以及对学生进行同传入门基本训练,结合口译实践,使学生掌握口译的基本理论、专题连续传译的技能以及同传基本技巧,学会口译记忆方法、口头概述,以及口译应对策略,提高学生的逻辑思维能力、话语分析能力、语言组织能力和双语表达能力。使学生能就重大题材进行准确、流畅的交替传译以及一般外事活动的同声传译。 通过讲授翻译基本理论,英汉翻译技巧、汉英翻译技巧、文学翻译、商务笔译、科技翻译等,培养具有扎实的语言基础,广博的文化知识,娴熟的笔译技能,能够胜任外事、商贸、科技、文化、教育等单位翻译工作的高素质应用型人才。 日语专业(文史 四年制本科)培养目标: 在提高学生日语语言文学修养的同时,培养具有扎实语言功底、掌握广博中日社会文化知识、具备较强跨文化交际能力,能在外事、经贸、文化、新闻出版、教育、旅游等部门从事翻译、研究、教学、管理工作的高素质应用型日语专门人才。 培养模式与特色: 实行“学程分段、分类培养”的培养模式。在第一阶段(第一、二学年)淡化专业,主要开设通识基础课程、学科专业基础课程,在第二阶段(第三、四学年)主要开设专业主干课程、专业特色课程、公共任选课程和实践教育课程,使专业教育得到延伸和拓展,提高学生的专业技能,满足学生的兴趣和爱好,促进学生个性发展。 为适应市场需求,提高学生就业能力,开设翻译理论与实践、日语商务贸易口译、日语会议口译等课程。同时对于日语口语等实用性较强的课程,打破传统,实行“分子班”等超小规模的教学模式,模拟真实现场环境,分级授课,提高学生实际应用能力。 (三)学生学习与培养 我院重视学生第二课堂教育,组织丰富多彩课外的活动。学院品牌项目:英语文化节,包含有英文演讲比赛、英文歌曲比赛、英语话剧比赛、世界文化巡礼、英文电影展播等,学院还组织周末文化广场、假面舞会、圣诞晚会、迎新晚会、新生文化节、趣味运动会等活动;我院学生在各类英语竞赛中取得优异成绩,朱斐曾获得 “CCTV杯全国英语演讲比赛”河南赛区一等奖;陈一浩获得“21世纪联想杯”全国英语演讲比赛二等奖,马畅获得第三届“新东方·托业杯”英语口语大赛华中区二等奖,吴亚乐等获赛扶世界杯中国站创新公益大赛全国总决赛三等奖等。 学院重视学生寒暑假社会实践活动和专业实践。假期遵循重点组队与分散实践相结合的原则,精心策划,突出重点,讲究实效。以“社会调查型、义工志愿型、学以致用型”等几方面开展暑期社会实践活动。根据大 一、大 二、大三年级不同的特点按要求分别实践。其中大一学生主要是了解和认识社会。大二学生主要是体验社会生活,大三利用所学专业开展职业实践。我院组织开展“七彩太阳照亮孩子“灰暗”的心灵”、“了解牛奶加工制作,宣传牛奶安全知识调查”、“中原经济区调研”、“和谐大移民,无限党恩情”等社会实践活动,多项活动得到了媒体、电视台的报道。同时学院积极为学生搭建专业实践平台,组织学生参加“中国郑州国际少林武术节”、“中国保险精英圆桌大会”、“世界斯诺克巡回赛郑州公开赛”等活动的翻译志愿服务,常年和我校国际交流与合作处共同承担“发展中国家粮食安全研修班”、“发展中国家中国少林武术培训班”、“发展中国家粮食储藏技术培训班”等国家援外项目的志愿翻译工作。 (四)就 业 我院毕业生2965人,在校本科生649人,研究生26人。毕业生中,我院97届毕业生王凯波在国务院港澳事务办公室工作;2001届毕业生陈发家考取北京第二外国语大学研究生,毕业后成为北二外聘任的唯一位仅有硕士学位的教师;2002届毕业生严毓辉当选广州形象大使; 2004届毕业生吴鹏任香港新宇集团董事、常务副总经理,曾为公司创造1亿两千万港币的经济净收入;2004届毕业生陈润森任央视第七套军事农业频道经典栏目“致富经”的主编。 2009届毕业生王新慧考取西安外国语大学研究生;2010届毕业生彭薇考取广东外语外贸大学研究生,娄世威、磨惟伟考取北京外交学院双学位;2011届毕业生赵欣欣考取中山大学研究生,吴亚考取香港中文大学研究生。2012届毕 业生宋歌考取上海外国语大学研究生,燕琳考取对外经贸大学研究生,任军营考取中国人民大学研究生等。 (五)重大成果 近五年来,外语学院现已完成了1项国家教育部大学英语改革项目《高校大学英语学习能力培养之研究》(教育部高教司,主持,结项),现承担国家教育科学规划教育部重点研究项目《基于“全语言”教学法的英语特色教学研究》。主持完成了4项省级教改项目,其中3项获河南省教育厅教学成果二等奖。完成厅级教研项目22项,出版教材11部,发表133篇其中教研论文 27 篇。大学英语和基础英语被评为校级精品课程。2011年高级英语被评为河南省精品课程。2011年,外语学院获得 “全国五一巾帼标兵岗”称号。 (咨询电话:0371-67756797 67756798) 实验3 常用类(2学时) 一、实验目的 1.熟悉Java中的String、StringBuffer、Math、包装器类、Scanner类的使用方法。2.使用常用类解决一般性的应用问题。3.掌握JavaSE API文档的使用方法。 二、实验内容 1.编写一个Java应用程序。用户从键盘输入一个整数,程序将判断这个数是几位数并输出其位数,并判断这个数是否是回文数(是,则输出“是回文数”,否则输出“不是回文数”)。回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、3223都是回文数。要求:定义两个方法,一个用于获取一个整数的位数,一个用于返回一个整数是否为回文数。 2.编写一个程序,由用户从键盘输入一个字符串,程序输出该字符串中的大写英文字母数,小写英文字母数以及非英文字母数。(用户键盘输入用Scanner类实现) 3.在安排教师监考时,需要从一组教师中随机选取n个教师参加监考。要求实现一个类RandomTeacher的静态方法public static String[] getRandomTeachers(String[] teachers, int n),能够从teachers中随机选择n个教师(名字)并返回。 4.假设某餐馆中每桌顾客点菜记录的格式为“北京烤鸭:189 西芹百合:15 清蒸鲈鱼:80”。编写一个类的方法,能够根据点菜内容对应的字符串输出点菜记录中每种菜的价格以及总的价格。 5.编写一个方法,返回一个double型的二维数组,数组中的元素通过解析字符串参数获得。例如,字符串参数:“1,2;3,4,5;6,7,8”,对应的数组为: d[0,0] = 1.0 d[0,1] = 2.0 d[1,0] = 3.0 d[1,1] = 4.0 d[1,2] = 5.0 d[2,0] = 6.0 d[2,1] = 7.0 d[2,2] = 8.0 三、实验要求 完成程序设计并提交代码。 实验五 一、实验内容: 从键盘上输入一行字符串。 ①将字符按Unicode字典顺序排序后输出。②统计每个字符出现的次数和位置。③统计含有的单词个数。④正向和反向输出单词。 二、算法思路: 要完成任务①:使用StringTokenizer类的countTokens()方法和nextToken(),将单词存储到String a[ ]数组中,再定义一个空的String b[ ] , 用来存放比较大小后的单词。 要完成任务③:使用StringTokenizer类中的countTokens()方法。 要完成任务②:定义charArray[i ]存放字符 intArray[ i]出现字符的次数 addr[i][ ]用来存放出现字符的位置 要完成任务④:可以通过之前定义存储的String a[ ]和相关简单算法,输出正向和反向的单词。 三、实验结果: 四、程序代码: import java.util.*;import java.awt.*;import java.awt.event.*;import javax.swing.*; public class TokenTest extends JFrame{ private JLabel promptLabel; private JTextField inputField; private JTextArea outputArea; public TokenTest(){ super(“字符串”); Container container=getContentPane(); container.setLayout(new FlowLayout()); promptLabel=new JLabel(“输入一个句子,然后按回车键”); container.add(promptLabel); inputField=new JTextField(20); inputField.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent event){ StringTokenizer tokens=new StringTokenizer(event.getActionCommand()); int num=100; int n=0; num=tokens.countTokens(); String a[]=new String[num]; String b[]=new String[num]; while(tokens.hasMoreTokens()) { a[n++]=tokens.nextToken(); } n=0; int m=0; while(m { for(int i=0;i<=n;i++) { if(i==n) b[i]=a[m]; else if(a[m].compareToIgnoreCase(b[i])<0) { for(int j=n;j>i;j--) b[j]=b[j-1]; b[i]=a[m]; break; } } m++; n++; } outputArea.setText(“按Unicode字典顺序排序后输出:n”); for(int i=0;i outputArea.append(b[i]+“ ”); outputArea.append(“nn单词个数:”+num); String buffer=inputField.getText(); char charArray[]=new char[26]; int intArray[]=new int[26]; int addr[][]=new int[26][26]; n=0; for(int i=0;i { for(int j=0;j<=n;j++) { if(j==n) { charArray[j]=buffer.charAt(i); intArray[j]++; addr[j][intArray[j]-1]=i; } else if(buffer.charAt(i)==' ') {n--;break;} else if(buffer.charAt(i)==charArray[j]) { intArray[j]++; addr[j][intArray[j]-1]=i; n--; break; } } n++; } 置:“); }); } outputArea.append(”nn统计每个字符出现的次数和位置n“);for(int i=0;i outputArea.append(charArray[i]+” 次数:“+intArray[i]+” 位 for(int j=0;j { outputArea.append(addr[i][j]+“ ”); } outputArea.append(“n”);} String s=“n”; outputArea.append(“n单词正向输出:n”); for(int i=0;i outputArea.append(a[i]+“ ”); outputArea.append(“nn单词反向输出:”); for(int i=0;i { for(int count=a[i].length()-1;count>=0;count--) { s+=a[i].charAt(count); } s+=“ ”; } outputArea.append(s);} container.add(inputField);outputArea=new JTextArea(20,40);outputArea.setEditable(false);container.add(new JScrollPane(outputArea));setSize(500,500);setVisible(true); public static void main(String[] args){ TokenTest application=new TokenTest(); application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } 五、心得体会: 这个程序,应该是我目前所花时间最长编写出来的程序,从草稿纸上酝酿出算法,到最后在计算机上成功运行,花了3个晚上的时间,其中有一天晚上,本人忘我编程到凌晨12:30,当中遇到了很多出乎意料的问题,但是在遇到问题时,我积极思考,反复调试,编程开始阶段,程序一直异常跳出,我也花了挺多时间找错误,也花了不少时间检验算法的严密性。程序中用红笔标注的,是我花时间最长的地方,也是本程序的难点和要点。通过这次程序,我很好地深入钻研了StringTokenizer类的用法,原来使用其对象countTokens()方法和hasMoreTokens()方法一次之后,再次调用这些方法,countTokens()返回值是0;hasMoreTokens()返回null。正是由于自己一开始对StringTokenizer类用法的不了解,我才在一开始程序中,异想天开的多次使用了countTokens()方法和hasMoreTokens()方法,导致程序无法达到我的要求,所以我经历了漫长而艰辛的调试过程后,我才写出了本程序,但我觉得,通过这种程序的锤炼,自己的变成能力会有很显著的提升。 1、实验一:多线程程序设计:炮打飞机 实验目的:学会使用多线程进行并发程序设计 实验内容:编写一个应用程序模拟大炮打飞机。在GUI界面上,飞机水平飞行,用界面上的按钮控制大炮的运行方向(如向左,向右,向上,向下)。当炮弹碰着飞机后,飞机坠落。 2、实验二:数据库编程:书目信息管理 实验目的:掌握数据库编程技术。能正确连接数据库,能对数据库中信息进行查询、插 入、删除、修改。 实验内容:在数据库中创建一张书目信息表,包括书名、作者、出版社、出版日期、书 号、价格字段。设计一个GUI界面进行书目管理。在该界面上有四个选项卡,分别是查询、插入、删除、修改。点击查询选项卡,出现的界面上有书名、作者、出版社、书号四个文本框,一个按钮和一个只读文本区。文本框内容可以为空,输入相应的查询信息后(例如根据书名查询可以仅输入书名),点击界面上的“查询”按钮,可以在界面下方的文本区中显示出符合条件的书目详细信息。点击插入选项卡,出现的界面上有书名、作者、出版社、出版日期、书号、价格文本框,一个按钮。在文本框中输入信息后,点击“插入”按钮,该书目信息插入数据库表中。点击删除选项卡,出现的界面上有书名文本框和一个按钮,输入书名后点击“删除”按钮,该书目信息从数据库表中删除。点击修改选项卡,出现的界面上有书名、作者、出版社、出版日期、书号、价格文本框,一个按钮。输入的书名必须是已存在的,否则会弹出消息框显示出错信息。输入信息后,点击“修改”按钮,数据库表中的相应书目信息被修改为新值。 3、实验三:Applet编程:鸭子的移动 实验目的:掌握Applet程序设计的方法,学会在Applet中绘制图片,能采用双缓冲技术进行图片绘制,会在Applet中采用多线程进行动画显示。能在Applet中实现动画的平滑显示,避免闪烁现象。 实验内容:在Applet窗口中显示一只鸭子图片,要求这只鸭子以每秒100帧的速率水平移动,移到窗口边界再返回移动。在窗口中点击鼠标,鸭子停止移动;再次点击鼠标,鸭子恢复移动。 4、实验四:网络编程:聊天室的实现 实验目的:会编写客户端和服务器程序实现C/S模式下的通信,会使用多线程进行网络编程。 实验内容:编写一个聊天室程序:客户端界面请自行设计,可使其具有个性化特征; 可在实现基本的聊天室功能的基础上添加个性化的功能。第二篇:河南工业大学外语学院
第三篇:Java实验3
第四篇:Java实验5
第五篇:java上机实验