java实验报告分解.docx

上传人:b****4 文档编号:1380961 上传时间:2022-10-21 格式:DOCX 页数:11 大小:84.76KB
下载 相关 举报
java实验报告分解.docx_第1页
第1页 / 共11页
java实验报告分解.docx_第2页
第2页 / 共11页
java实验报告分解.docx_第3页
第3页 / 共11页
java实验报告分解.docx_第4页
第4页 / 共11页
java实验报告分解.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

java实验报告分解.docx

《java实验报告分解.docx》由会员分享,可在线阅读,更多相关《java实验报告分解.docx(11页珍藏版)》请在冰豆网上搜索。

java实验报告分解.docx

java实验报告分解

学号:

1310421053

《面向对象程序设计》

实验报告与习题册

2013/2014学年第1学期

系别

计算机科学与技术系

专业

软件工程

班级

(1)班

姓名

蔡群

指导教师

朱强

 

实验四输入和输出流

一实验目的与要求

1、掌握java常用I/O输入流和输出流;

2、掌握各种类型数据写入文件或读出文件的操作。

二实验内容

1、编程利用文件流和缓冲流把一个文本文件中的内容复制到另外一个文件中。

importjava.io.*;

publicclassFileCopy

{

publicstaticvoidmain(String[]args)

{

FileInputStreamfis=null;

FileOutputStreamfos=null;

BufferedInputStreambis=null;

BufferedOutputStreambos=null;

intc;

try

{

fis=newFileInputStream("d:

/a1.txt");

bis=newBufferedInputStream(fis);

fos=newFileOutputStream("d:

/a2.txt");

bos=newBufferedOutputStream(fos);

while((c=bis.read())!

=-1)

bos.write(c);

bos.flush();

}

catch(FileNotFoundExceptione1)

{

System.out.println(e1);

}

catch(IOExceptione2)

{

System.out.println(e2);

}

finally

{

try

{

if(fis!

=null)

fis.close();

if(fos!

=null)

fos.close();

if(bis!

=null)

bis.close();

if(bos!

=null)

bos.close();

}

catch(IOExceptione3)

{

System.out.println(e3);

}

}

}

}

 

运行结果

 

2、定义一个类,把这个类所生成的若干对象写入到文件中,然后从文件中读出对象,测试读出对象的正确性。

importjava.io.*;

importjava.util.*;

classStudentimplementsSerializable

{

Stringname;

charsex;

intage;

publicStudent(Stringname,charsex,intage)

{

this.name=name;

this.sex=sex;

this.age=age;

}

publicStringgetInfo()

{

return("姓名:

"+name+"\t"+"性别:

"+sex+"\t"+"年龄:

"+age);

}

}

publicclassObjectFile{

publicstaticvoidmain(String[]args)throwsException

{

/*

Students1=newStudent("Jack",'M',20);

Students2=newStudent("Jom",'M',25);

FileOutputStreamfos=newFileOutputStream("e:

\\b.txt");

ObjectOutputStreamos=newObjectOutputStream(fos);

os.writeObject(s1);

os.writeObject(s2);

os.close();

*/

Students1;

Students2;

FileInputStreamfis=newFileInputStream("e:

\\b.txt");

ObjectInputStreamos=newObjectInputStream(fis);

s1=(Student)os.readObject();

System.out.println(s1.getInfo());

s2=(Student)os.readObject();

System.out.println(s2.getInfo());

}

}

 

运行结果

 

三实验内容中遇到的问题、解决方法和体会。

问题:

(1)利用文件流和缓冲流把一个文本文件中的内容复制到另外一个文件中时,程序代码没有问题,可是实验结果却显示“找不到指定文件”;

(2)输入流、输出流对应的到底是读是写还是有点搞不清,经常在使用时两者搞混淆;

解决方法:

(1)询问同学,才发现文件后缀名是.txt时,里面的内容是被隐藏的,只需要把后缀名删除,留下文件名就可以了;

(2)对于输入输出流对应的是读是写问题,在自己仔细揣摩并且多次实践后终于弄清了他们的对应关系,在之后的使用中,基本没有出现类似这样的错误。

体会:

这次试验比较简单,基本都是老师上课所说的内容,所以都能实现出来。

中间之所以出现错误,是因为自己不细心,所以在之后的实验中要做到细心仔细。

实验五GUI图形界面设计

一实验目的与要求

1、掌握Awt与Swing的区别与联系;掌握Swing常用图像组件的使用;掌握主要的布局管理器的使用方法;

2、了解事件处理机制;掌握Swing常用图像组件的使用;掌握固定菜单和弹出式菜单的创建和使用;

二实验内容

1、设计并实现一个类似于windows操作系统附件中自带的计算器的一款简单的计算器,要求界面美观,设计合理;带有常用的菜单并实现其功能;能完成加、减、乘、除等简单的计算,在下面写出其核心代码。

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

classMyFrameextendsJFrame

{

publicMyFrame()

{

setTitle("Calculator");

MyPanelpanel=newMyPanel();

add(panel);

pack();

}

}

classMyPanelextendsJPanel

{

privateJButtondisplay;//显示单击计算器按钮的值和计算后的值

privateJPanelpanel;//计算器面板

privatedoubleresult;

privateStringlastCommand;//计算器的命令按钮

privatebooleanstart;

publicMyPanel()

{

setLayout(newBorderLayout());

result=0;

lastCommand="=";

start=true;

display=newJButton("0");

display.setEnabled(false);

add(display,BorderLayout.NORTH);

ActionListenerinsert=newInsertAction();

ActionListenercommand=newCommandAction();//以网格布局管理器管理16个计算器按钮

panel=newJPanel();

panel.setLayout(newGridLayout(4,4));//在JPanel布局16个计算器按钮

addButton("7",insert);//把计算器按钮加到计算器面板上

addButton("8",insert);

addButton("9",insert);

addButton("/",command);

addButton("4",insert);

addButton("5",insert);

addButton("6",insert);

addButton("*",command);

addButton("1",insert);

addButton("2",insert);

addButton("3",insert);

addButton("-",command);

addButton("0",insert);

addButton(".",insert);

addButton("=",command);

addButton("+",command);

add(panel,BorderLayout.CENTER);

}

//*********添加计算器按钮到计算器面板上**********************

privatevoidaddButton(Stringlabel,ActionListenerlistener)

{

JButtonbutton=newJButton(label);

button.addActionListener(listener);//注册事件监听器

panel.add(button);

}

//设置display的值为所单击的计算器按钮的值

privateclassInsertActionimplementsActionListener

{

publicvoidactionPerformed(ActionEventevent)

{

//返回与此动作相关的命令字符串。

Stringinput=event.getActionCommand();

if(start){

display.setText("");

start=false;

}

display.setText(display.getText()+input);//显示单击的计算器按钮的值

}

}

//*********依单击计算器上的内容执行命令********************

privateclassCommandActionimplementsActionListener

{

publicvoidactionPerformed(ActionEventevent)

{

Stringcommand=event.getActionComman

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1