java实验报告Word下载.docx
- 文档编号:20354537
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:26
- 大小:58.92KB
java实验报告Word下载.docx
《java实验报告Word下载.docx》由会员分享,可在线阅读,更多相关《java实验报告Word下载.docx(26页珍藏版)》请在冰豆网上搜索。
LiSi
18
Li_Si@
WangErMazi
21
Wang_er_mazi@
LiuBang
240
Liu-Bang@
;
二、实验设计(包括实验方案设计,实验手段的确定,实验步骤,实验过程等)
利用java.io.FileOutputStream和java.io.DataOutputStream直接把表中的数据写到文件中
方法2:
编写一个表示每行数据的JavaBean,例如Person,然后再使用对象数组
方法3:
同方法2,但是使用数据结构java.util.Vector
把myfile.data数据文件拷到C盘(因为里面有一些初始数据)。
在C盘下创建文件夹:
C:
\wk\javacourse。
把源代码文件StudentManagmentSystem.java拷到该文件夹之下,并编译、解释执行。
三、主要实验工具、仪器设备及耗材
个人计算机,Eclipse
四、实验代码
(StudentManagmentSystem.java)
packagejavacourse;
importjava.awt.*;
importjava.awt.event.*;
importjava.util.*;
importjava.io.*;
publicclassStudentInfoManagment
extendsWindowAdapterimplementsActionListener
{
FramemainWindow;
MenuBarmb;
Menumenu;
MenuItem[]actions;
Dialogd1,d2;
Fontfont;
java.awt.List[]lists;
Label[]titles;
/***Controlsforinputingstudent'
sinfo***/
Label[]d1Labs;
TextField[]d1TFs;
Button[]d1Btns;
Checkbox[]d1CBs;
CheckboxGroupd1Grp;
Buttond1Quit;
/***Someconstantstrings***/
finalString[]messages=
"
Inputstudent'
info"
"
Displayallstudents'
infos"
Savedataintothefile"
Loadinfofromthefile"
};
/***Hashtabletohandlestudents'
infos***/
Hashtable<
String,STUDENT>
students=newHashtable<
();
finalString[]d1Str=
NAME"
"
PHONE"
EMAIL"
};
finalintNumberFunctionalities=4;
publicStudentInfoManagment(){
//TODOAuto-generatedconstructorstub
}
publicvoidguiSetup()
mainWindow=
newFrame("
AStudentInformationSystem"
);
mainWindow.setSize(600,400);
mainWindow.setLocation(100,100);
font=newFont("
TimesNewRoman"
Font.ITALIC,18);
mainWindow.setFont(font);
mb=newMenuBar();
menu=newMenu("
Functionalities"
actions=newMenuItem[NumberFunctionalities];
for(inti=0;
i<
NumberFunctionalities;
i++)
actions[i]=newMenuItem(messages[i]);
menu.add(actions[i]);
actions[i].addActionListener(this);
mb.add(menu);
mainWindow.setLayout(newGridLayout(1,4));
titles=newLabel[4];
lists=newjava.awt.List[4];
4;
{titles[i]=newLabel();
lists[i]=newjava.awt.List();
titles[0].setText("
titles[1].setText("
titles[2].setText("
titles[3].setText("
SEX"
mainWindow.add(lists[i]);
mainWindow.setMenuBar(mb);
mainWindow.addWindowListener(this);
/***Dialog01setup***/
d1=newDialog(mainWindow,messages[0],false);
d1.setBounds(100,100,400,200);
d1Labs=newLabel[3];
d1TFs=newTextField[3];
3;
d1Labs[i]=newLabel(d1Str[i]);
d1TFs[i]=newTextField(20);
d1CBs=newCheckbox[2];
d1Grp=newCheckboxGroup();
d1CBs[0]=newCheckbox("
Male"
d1Grp,true);
d1CBs[1]=newCheckbox("
Female"
d1Grp,false);
d1Btns=newButton[2];
d1Btns[0]=newButton("
SUBMIT"
d1Btns[1]=newButton("
RESET"
d1Quit=newButton("
QUIT"
d1Btns[0].addActionListener(this);
d1Btns[1].addActionListener(this);
d1Quit.addActionListener(this);
d1.setLayout(newGridLayout(6,2));
d1.add(d1Labs[i]);
d1.add(d1TFs[i]);
d1.add(d1CBs[0]);
d1.add(d1CBs[1]);
d1.add(d1Btns[0]);
d1.add(d1Btns[1]);
d1.add(d1Quit);
mainWindow.setVisible(true);
publicvoidactionPerformed(ActionEvente)
Objecto=e.getSource();
if(o==actions[0])
d1.setVisible(true);
elseif(o==d1Btns[0])
Stringname,phone,email;
booleanisFemale;
name=d1TFs[0].getText();
phone=d1TFs[1].getText();
email=d1TFs[2].getText();
isFemale=d1CBs[1].getState();
STUDENTaStudent=new
STUDENT(name,phone,email,isFemale);
students.put(name,aStudent);
elseif(o==d1Btns[1])
for(inti=0;
i++)d1TFs[i].setText("
elseif(o==d1Quit)
d1.dispose();
elseif(o==actions[1])
lists[i].removeAll();
Enumeration<
STUDENT>
enu=students.elements();
StringBufferbuf=newStringBuffer();
StringsexStr;
while(enu.hasMoreElements())
STUDENTstu=enu.nextElement();
if(stu.isFemale)sexStr="
;
elsesexStr="
lists[0].add(stu.getName());
lists[1].add(stu.getPhone());
lists[2].add(stu.getEmail());
lists[3].add(sexStr);
elseif(o==actions[2])
try{
Filefile=newFile("
\\myfile.data"
FileOutputStreamfos=
newFileOutputStream(file);
ObjectOutputStreamoos=newObjectOutputStream(fos);
oos.writeObject(students);
fos.close();
oos.close();
}catch(Exceptionex)
ex.printStackTrace();
elseif(o==actions[3])
FileInputStreamfis=
newFileInputStream(file);
ObjectInputStreamois=newObjectInputStream(fis);
Hashtabletemp=(Hashtable)ois.readObject();
Enumeration<
enu=temp.elements();
students.put(stu.getName(),stu);
fis.close();
ois.close();
publicvoidwindowClosing(WindowEvente)
System.exit(0);
/**
*@paramargs*/
publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstub
newStudentInfoManagment().guiSetup();
classSTUDENTimplementsSerializable
privateStringname,phone,email;
publicStringgetName(){returnname;
publicvoidsetName(Stringname){this.name=name;
publicStringgetPhone(){returnphone;
publicvoidsetPhone(Stringphone){this.phone=phone;
publicStringgetEmail(){returnemail;
publicvoidsetEmail(Stringemail){this.email=email;
publicbooleanisFemale(){returnisFemale;
publicvoidsetFemale(booleanisFemale){this.isFemale=isFemale;
publicSTUDENT(Stringname,Stringphone,Stringemail,booleanisFemale){
super();
this.name=name;
this.phone=phone;
this.email=email;
this.isFemale=isFemale;
publicSTUDENT(){super();
第二部分:
实验结果分析(可加页)
一、实验结果描述
二.实验小结、建议及体会
经过这次实验,我对java语言有了初步认识,对如何使用java编程有了初步了解,并且尝试编出一个简单的小程序,这对我有很大的帮助,为我以后的java学习打下了基础。
接口的定义以及流的输入输出
一.实验内容描述(问题域描述)
:
熟悉Java的各种类型、掌握java的变量定义及表达式的运算等。
接口之一定义四则运算的加减法,接口之二定义四则运算的乘除运算。
类一有一个打印一个字符串和一个整数的成员方法,要求打印的数据通过形式参数导入。
类二继承类一并实现接口一和接口二,且含有用于计算20和30四则运算并打印计算结果的主函数。
利用核准输入流输入一元二次方程的三个系数,并解该方程。
第一题:
接口一:
publicinterfaceInterface01{
publicintadd(inta,intb);
publicintsub(inta,intb);
接口二:
publicinterfaceInterace02{
publicintprod(inta,intb);
publicintdiv(inta,intb);
父类:
publicclassFatherClass{
publicstaticvoidprint(Stringstr,inta)
System.out.println(str+"
:
+a);
子类:
publicclassAChildClass
extendsFatherClass
implementsInterface01,Interace02
publicAChildClass(){
//TODOAuto-generatedconstructorstub
}
@Override
publicintprod(inta,intb){
//TODOAuto-generatedmethodstub
return(a*b);
publicintdiv(inta,intb)
{
try{
return(a/b);
}catch(Exceptionex)
{
System.out.println("
a/bwithb=0"
return-999;
}
publicintadd(inta,intb){
return(a+b);
publicintsub(inta,intb){
return(a-b);
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
AChildClasscc=newAChildClass();
print("
30+20"
cc.add(20,30));
30-20"
cc.sub(30,20));
30*20"
cc.prod(30,20));
30/20"
cc.div(30,20));
第二题参考代码:
publicclassROOT{
privatedoublea,b,c,x1,x2;
privatebooleanhaRealRoots;
publicROOT(){
super();
//TODOAuto-generatedconstructorstub
publicROOT(doublea,doubleb,doublec){
this.a=a;
this.b=b;
this.c=c;
publicdoublegetX1(){
returnx1;
publicdoublegetX2(){
returnx2;
publicbooleanisHaRealRoots(){
returnhaRealRoots;
publicvoidpstr(Stringstr)
System.out.println(str);
publicstaticvoidprint(Stringstr,doublea)
System.out.println(str+a);
publicvoidcalRoots()
throwsIOException,NumberFormatException
byte[]arrA,arrB,arrC;
StringstrA,strB,strC;
doubledelta;
arrA=newbyte[80];
arrB=newbyte[80];
arrC=newbyte[80];
pstr("
Inputcoefficienta:
System.in.read(arrA);
Inputcoefficientb:
System.in.read(arrB);
Inputcoefficientc:
System.in.read(arrC);
strA=newString(arrA);
strB=newString(arrB);
strC=newString(arrC);
a=Double.parseDouble(strA);
b=Double.parseDouble(strB);
c=Double.parseDouble(strC);
delta=b*b-4*a*c;
if(delta<
0)
this.haRealRoots=false;
else
this.haRealRoots=true;
x1=(-b+Math.sqrt(delta))/(2*a);
x2=(-b-Math.sqrt(delta))/(2*a);
publicstaticvoidmain(String[]args)
throwsException
ROOTrt=newROOT();
rt.calRoots();
if(rt.isHaRealRoots())
print("
x1="
rt.getX1());
x2="
rt.getX2());
rt.pstr("
Don'
texistrealroots"
三、主要实验工具、仪器设备及耗材
个人计算机,Eclipse
输入1,4,3,输出结果为-1,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)