java试验报告分解_第1页
java试验报告分解_第2页
java试验报告分解_第3页
java试验报告分解_第4页
java试验报告分解_第5页
免费预览已结束,剩余6页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、学号:1310421053面向对象程序设计实验报告与习题册2013 / 2014 学年第1学期系 另IJ 计算机科学与技术系 专业软件工程班级(1)班姓 名蔡 群指导教师朱强实验四 输入和输出流一 实验目的与要求1、掌握 java 常用 I/O 输入流和输出流;2、掌握各种类型数据写入文件或读出文件的操作。二 实验内容1、编程利用文件流和缓冲流把一个文本文件中的内容复制到另外一个文件 中。import java.io.*;public class FileCopypublic static void main(String args )FileInputStream fis = null ;F

2、ileOutputStream fos = null ; BufferedInputStream bis = null ;BufferedOutputStream bos = null ;int c;tryfis = new FileInputStream("d:/a1.txt" );bis = new BufferedInputStream(fis );fos = new FileOutputStream("d:/a2.txt" );bos = new BufferedOutputStream(fos );while ( c = bis .read()

3、!=-1)bos .write( c);bos .flush();catch (FileNotFoundException e1)System. out .println( e1);catch (IOException e2)System. out .println( e2);finallytryif(fis!=null)fis .close();if(fos!=null)fos .close();if(bis!=null)bis .close();if(bos!=null)bos .close();catch (lOExceptione3)System.out .println( e3);运

4、行结果-记事本St件(F) 觸(E】 格式Q)童看(V) W(H)* * +2、定义一个类,把这个类所生成的若干对象写入到文件中,然后从文件中 读出对象,测试读出对象的正确性。import java.io.*;import java.util.*;class Studentimpleme ntsSerializableStringn ame;char sex;int age;name, char sex , intage)publicStude nt(Stri ngpublic Stri ng getI nfo()return ("姓名:"+ name + "t&

5、quot;+ "性别:"+ sex + "t"+ "年龄:"+ age); =n ame;this.sex =sex ;this.age =age;public class ObjectFile public static void main(Stringargs ) throws Exception/*Stude nt s1 = new Stude nt("Jack",'M',20);Stude nt s2 = new Stude nt("Jom",'

6、M',25);FileOutputStream fos = new FileOutputStream("e:b.txt");ObjectOutputStream os = new ObjectOutputStream(fos);os.writeObject(s1);os.writeObject(s2);os.close();*/Stude nts1 ;Stude nts2;FileI nputStream fis = new FileI nputStream( "e:b.txt");ObjectInputStreamos = new Object

7、InputStream( fis );s1 = (Student)os .readObject();System. out .println(s1 .getInfo();s2 = (Student)os .readObject();System. out .println(s2 .getInfo();运行结果丈件日 箱躁E)帳式) 曰Ml ®Rn(Hj|sr *Studeni-kH 西匚 咗=江-*naract iLjava/lang/String; kpSI Mt -I Jacksq " Kt 寸皿 *.*_ Problems & Javadoc 画 Declar

8、ation 国 Console <terminated> ObjectFile Java Application C:Program Fileses : 3 ack =:H聲宣:Jomi:25三 实验内容中遇到的问题、解决方法和体会。问题:(1)利用文件流和缓冲流把一个文本文件中的内容复制到另外一个文件中时,程序代码没有问题,可是实验结果却显示“找不到指定文件”;(2)输入流、输出流对应的到底是读是写还是有点搞不清,经常在使用时 两者搞混淆;解决方法:(1)询问同学,才发现文件后缀名是.txt时,里面的内容是被隐藏的,只需要把后缀名删除,留下文件名就可以了;(2)对于输入输出流对应

9、的是读是写问题,在自己仔细揣摩并且多次实践后终于弄清了他们的对应关系,在之后的使用中,基本没有出现类似 这样的错误。体会:这次试验比较简单,基本都是老师上课所说的内容,所以都能实现出 来。中间之所以出现错误,是因为自己不细心,所以在之后的实验中 要做到细心仔细。实验五GUI图形界面设计一实验目的与要求1掌握Awt与Swing的区别与联系;掌握Swing常用图像组件的使用;掌 握主要的布局管理器的使用方法;2 了解事件处理机制;掌握 Swing常用图像组件的使用;掌握固定菜单和 弹出式菜单的创建和使用;二实验内容1设计并实现一个类似于windows操作系统附件中自带的计算器的一款简 单的计算器,

10、要求界面美观,设计合理;带有常用的菜单并实现其功能;能完成 加、减、乘、除等简单的计算,在下面写出其核心代码。import java.awt.*;import java.awt.eve nt.*;import javax.swi ng.*;class MyFrame exte nds JFramepublic MyFrame()setTitle( "Calculator" );MyPa nelpanel = new MyPa nel();add( panel );pack();class MyPa nelexte nds JPa nel1privateJButt ondis

11、play ;/显示单击计算器按钮的值和计算后的值privateJPanelpanel ;/计算器面板privatedoubleresult ;privateStr inglastCommand ;/计算器的命令按钮privateboolea nstart ;public MyPa nel()setLayout( new BorderLayout(); result = 0;lastCommand ="="start = true ;display = new JButton( "0" );display .setEnabled( false );add(

12、 display , BorderLayout. NORTH);ActionListenerinsert = new InsertAction();/ 以网格布局管/ 在JPanel布局16个/ 把计算器按钮加到ActionListenercommand = new CommandAction();理器管理 16 个计算器按钮panel = new JPanel();panel .setLayout( new GridLayout(4, 4); 计算器按钮addButton("7",insert);计算器面板上addButton( "8" , inser

13、t );addButton( "9" , insert ); addButton( "/" , command);addButton( "4" , insert ); addButton( "5" , insert );addButton( "6" , insert ); addButton( "*" , command);addButton("1",insert);addButton("2",insert);addButton(&qu

14、ot;3",insert);addButton( "-" , command);addButton("0",insert);addButton(".",insert);addButton( "=" , command); addButton( "+" , command);add( panel , BorderLayout. CENTER); /*添加计算器按钮到计算器面板上 *private void addButton(Stringlabel , ActionListenerlis

15、tener )JButton button = new JButton( label );button .addActionListener(listener );/ 注册事件监听panel .add( button );/ 设置 display 的值为所单击的计算器按钮的值 private class InsertAction implements ActionListener public void actionPerformed(ActionEventevent )/ 返回与此动作相关的命令字符串String input = event .getActionCommand();if (

16、start ) display .setText( "" );start = false ;display .setText( display .getText() + input ); / 显示单击 的计算器按钮的值依单击计算器上的内容执行命令private class CommandAction implements /*ActionListenerpublic void actionPerformed(ActionEvent event )String command = event.getActionCommand();if ( start )if (command

17、.equals("-" )display .setText(command);/ 如果单击的是 “- ”按钮,说明是负数startfalse elselastCommandcommand; else/ 把字符串转换为Double 类型并计算结果calculate(Double.parseDouble ( display .getText(); lastCommand = command;starttrue ;/ *计算结果 *public void calculate( double x)if ( lastCommand .equals( "+" ) r

18、esult += x;else if ( lastCommand .equals( "-" ) result -= x;else if ( lastCommand .equals( "*" )elseif(lastCommand.equals(result/= x;elseif(lastCommand.equals(result=x;result *= x;"/")display .setText( "" + result );public class Calculatorpublic static void main( Str in gargs )EXIT_ON_CLOSE); / 关闭MyFrame frame = new MyFrame(); frame .setDefaultCloseOperation(JFrame.计算器窗口frame .setVisible( true );运行结果|->| Calculator0回17X7

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论