java实验报告分解.docx
- 文档编号:1380961
- 上传时间:2022-10-21
- 格式:DOCX
- 页数:11
- 大小:84.76KB
java实验报告分解.docx
《java实验报告分解.docx》由会员分享,可在线阅读,更多相关《java实验报告分解.docx(11页珍藏版)》请在冰豆网上搜索。
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文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 实验 报告 分解