java实验报告.docx
- 文档编号:12624209
- 上传时间:2023-04-21
- 格式:DOCX
- 页数:40
- 大小:256.02KB
java实验报告.docx
《java实验报告.docx》由会员分享,可在线阅读,更多相关《java实验报告.docx(40页珍藏版)》请在冰豆网上搜索。
java实验报告
Java程序设计实验报告
学号:
名字:
实验一JAVA开发环境及基本语法
一、实验目的:
1、掌握常用的Java集成开发环境的使用,特别是Eclipse和NetBeans。
2、掌握Java基本语法,重点是面向对象的思想和语法。
3、掌握控制台下(应用程序)的输入输出方法,作为后续部分实验的基础。
二、实验内容:
1、打开实验室计算机上的集成开发环境Eclipse或NetBeans(重点是Eclipse),掌握其基本使用方法。
了解开发软件的各个菜单功能。
会创建java项目(Project),会编辑和编译、运行项目代码。
2、验证和学习所给的几个例子程序及其讲解。
然后自己编写一个至少由一个类构成的Java程序,其功能是在运行后,能接收用户输入一个学生的姓名以及java课的成绩(百分制),并输出对该学生成绩是否达到60分的及格分的判断(可使用if语句)。
例如,输入学生姓名李明,然后输入成绩50,则输出“李明的成绩为不及格”。
3、编写一个程序来表示长方体的长宽高等数据并有计算体积的函数可供调用,长方体类从矩形类继承而来。
程序运行时能接受输入任意的3个数作为长方体的长、宽和高,然后能够输出所输入的长宽高及所计算出的体积。
注意不能把代码全部写在main函数里面,不能直接输出长宽高的乘积。
3、设计过程
预习实验指导书上的内容,并将实验指导书上的例子用Eclipse验证,分析例子的指导思想,然后根据例子的内容用java语言写出自己的程序。
实验中需要学会利用控制台输出信息,使用语句“System.out.println("**************");”即可。
而在控制台下接受用户输入数据的方法为:
Scannersc=newScanner(System.in);//定义一个Scanner对象,从System.in接受输入;
str=sc.next();//等待用户输入任意一个字符串,它会被存到str中;
在实验中还会使用if语句,这跟C++的用法差不多。
4、测试数据和程序运行的结果
程序一运行结果:
请输入姓名、成绩:
李明50
李明的成绩不合格
程序二运行结果:
请输入矩形长宽高:
236
面积为36.0
五、问题与总结
第一个实验主要是会使用if语句,用if语句来判断用户输入的数据是否符合要求。
第二个实验要定义类函数,以便在main函数中使用。
这两个实验是很基础的,但还是要细心准备,否则实验过程中也会有不可预料的错误出现。
六、附录
程序一代码:
packageshiyan01;
importjava.util.Scanner;
publicclassFirst1{
publicstaticvoidmain(String[]args){
Stringstr;//定义一个字符串变量str
intk,i;//定义一个整型变量i
System.out.println("请输入姓名、成绩:
");
Scannersc=newScanner(System.in);//定义一个Scanner对象,从System.in接受输入
str=sc.next();//等待用户输入任意一个字符串,它会被存到str中
i=sc.nextInt();//等待用户输入任意一个整数,它会被存到i中
if(i<60)
System.out.println(str+"的成绩不合格");
if(i>=60)
System.out.println(str+"的成绩是:
"+i);
}
}
程序二代码:
packageshiyan01;
importjava.util.Scanner;
classRec
{
floatlong1,wide,high;
Rec(floatlong1,floatwide,floathigh)
{
this.long1=long1;
this.wide=wide;
this.high=high;
}
floatmianji(floatlong1,floatwide,floathigh)//计算面积函数
{
floatm;
m=long1*wide*high;
returnm;
}
voidshow()
{floatc;
c=mianji(long1,wide,high);
System.out.println("面积为"+c);
//System.out.println(long1);
}
}
publicclassRect
{
publicstaticvoidmain(Stringargs[])
{
Rechh;
floatf,g,h;
System.out.println("请输入矩形长宽高:
");
Scannersc=newScanner(System.in);//定义一个Scanner对象,从System.in接受输入
f=sc.nextFloat();
g=sc.nextFloat();
h=sc.nextFloat();
hh=newRec(f,g,h)
hh.show();
}
}
实验二系统类和数组
一、实验目的
1、通过字符串处理类的应用,掌握系统类的使用方法。
2、掌握数组的定义和使用。
3、进一步掌握Java程序设计的基本过程和基本方法。
2、实验内容:
用字符串输入的方式编写一个简单的通讯录。
此通讯录由多条记录构成。
每条记录包括一个联系人的姓名、性别、电话、通信地址,并具有查询、增加、修改、删除等功能,且每执行一次功能操作后,可以选择用类似以下的格式,输出通讯录的所有信息记录:
编号姓名性别电话通信地址
01张三男123456北京
02李四女456789福建
此处做一简单的参考性质的提示:
可考虑用数组分别存储姓名,性别,电话,通信地址,那么查询,增加、修改、删除操作就可转换为对数组元素的操作。
通讯录中的所有记录的每一个字段可以依次可以使用一维数组的各个元素来存放,并进行各项功能操作处理。
3、设计过程
程序中定义一个Student类,里面包含学生的学号,名字,性别,电话,住址,并且定义一个处理学生信息的DealStudent类,里面有查找学生的函数find_Stu()、打印学生信息的函数print_Fin_Stu()、添加学生信息的函数add_stu()、修改学生信息的函数modi_Stu()、删除学生信息的函数delete_Stu()。
4、测试数据和程序运行的结果
部分结果:
5、问题与总结
这次实验是要求我们掌握系统类的使用方法,实验中定义了两个类,因此实验过程中出现了不少的错误,但是经过自己和同学把问题一步一步的解决,最终实验还是成功完成了。
经过这次实验之后,自己进一步掌握J了ava程序设计的基本过程和基本方法。
六、附录
程序主要代码:
classStudent{
longnum;//编号
StringstrName;//姓名
StringstrSex;//性别
longphoneNum;//电话
StringstrAdr;//地址
booleanstatus;
voidInit(longn,StringsN,StringsS,longpN,StringsA){
this.status=true;
this.num=n;
this.strName=sN;
this.strSex=sS;
this.phoneNum=pN;
this.strAdr=sA;
}
classDealStudent{};//定义一个处理学生信息的类,里面包含查找学生、删除学生等函数;
voidprint_Fin_Stu();//打印查找的学生信息函数
voidadd_stu();//增加学生信息的函数
voidmodi_Stu();//修改学生信息的函数
intdelete_Stu();//删除学生信息的函数
voiddel_Stu();//显示删除后的学生信息
voidshow_Stu();//显示学生信息函数
publicstaticintmenu_Select();//显示菜单函数
publicstaticvoidmain(String[]args){}//主函数
实验三图形界面程序的界面设计
一、实验目的
1、掌握Java图形界面程序设计的基本思想和步骤。
2、掌握JDK中AWT包和Swing包的基本使用方法和区别。
3、掌握容器和布局的概念和使用。
4、掌握图形界面程序的界面设计方法和步骤。
2、实验内容:
自己编写所有代码,设计一个程序的界面。
该程序的功能要求是:
运行之后,界面要求基本如左图所示。
其中界面设计时的顶层容器要求使用JFrame(或Frame),界面上的“简易计算器”、“运算数一”、“运算数二”、“运算结果”这些提示标签使用组件JLabel(或Label),输入运算数和输出运算结果使用JTextField(或TextField),“相加”、“相减”和“全部清零”使用按钮JButton(或Button)。
请注意查阅JDK的API文档中这些相关的类,看看它们具有哪些构造函数可以用来生成所需的对象,它们具有哪些方法可以用来进行调用。
注意保存好本次实验代码,下一次实验将会要求实现其事件处理以继续完善。
三、设计过程
先定义一个容器JFrame,然后添加按钮、文本框并设置大小位置。
实验中的“运算数一”、“运算数一”、“运算结果”、“简易计算器”都是组件JLabel,“相加”、“相减”“全部清零”都是按钮JButton,并在容器中添加了三个JTextField。
四、测试数据和程序运行的结果
5、问题与总结
做好本次实验,动手写代码之前应该好好看实验指导书上的内容,这样才有完成本次实验的思想。
6、附录
程序代码:
packagetwo;
importjavax.swing.JTextField;
importjavax.swing.JFrame;
importjavax.swing.JButton;
importjavax.swing.JLabel;
publicclassTest03{
JLabelb1=newJLabel("运算数一");
JLabelb2=newJLabel("运算数一");
JLabelb3=newJLabel("运算结果");
JLabelb4=newJLabel("简易计算器");
JButtona1=newJButton("相加");
JButtona2=newJButton("相减");
JButtona3=newJButton("全部清零");
JFrameframe=newJFrame("BasicApplication");//定义一个JFrame容器对象frame
JTextFieldd1=newJTextField(20);//生成对象实例
JTextFieldd2=newJTextField(20);
JTextFieldd3=newJTextField(20);
publicTest03(){
frame.setSize(250,400);//定义容器大小
frame.setLayout(null);
b1.setSize(80,20);//设置b1的尺寸
b2.setSize(80,20);
b3.setSize(80,20);
b4.setSize(80,20);
a1.setSize(80,20);
a2.setSize(80,20);
a3.setSize(90,20);
d1.setSize(60,20);
d2.setSize(60,20);
d3.setSize(60,20);
b1.setLocation(10,95);
b2.setLocation(10,135);
b3.setLocation(10,175);
b4.setLocation(80,50);
a1.setLocation(10,220);
a2.setLocation(100,220);
a3.setLocation(60,250);
d1.setLocation(100,95);
d2.setLocation(100,135);
d3.setLocation(100,175);
frame.add(d1);
frame.add(d2);
frame.add(d3);
frame.getContentPane().add(a1);//往容器添加按钮
frame.getContentPane().add(a2);//往容器添加按钮
frame.getContentPane().add(a3);//往容器添加按钮
frame.getContentPane().add(b1);//往容器添加组件
frame.getContentPane().add(b2);//往容器添加组件
frame.getContentPane().add(b3);//往容器添加组件
frame.getContentPane().add(b4);//往容器添加组件
frame.setResizable(true);
frame.setVisible(true);//设置为可视
}
publicstaticvoidmain(Stringargs[])
{
Test03n=newTest03();//定义对象实例,调用构造函数生成界面
}
}
实验四图形界面程序的事件处理
一、实验目的
1、掌握Java图形界面程序设计的基本思想和步骤。
2、掌握图形界面程序设计中键盘鼠标事件处理的机制。
3、了解常用的监听器接口及其方法和作用。
4、掌握图形界面程序设计中事件处理的方法和步骤。
二、实验内容:
在上一个实验(实验三)中,我们设计了一个简易计算器的界面。
但仅仅要求设计出其界面,而没有要求进行事件处理。
在本次实验中,请实现其事件处理。
使得程序运行之后,当输入两个运算数后,点击“相加”或者“相减”按钮,两数相加或相减的结果就会显示在“运算结果”框中。
如果点击“全部清零”按钮,那么两个运算数输入框和运算结果框中就会完全被清空。
三、设计过程
主要算法:
publicclassFrameApp{
b1.addActionListener(newmyEvent1());
b2.addActionListener(newmyEvent2());
b3.addActionListener(newmyEvent3());}//定义一个图形界面,并且设置相关//按钮的监听方法
classmyEvent1implementsActionListener{
}//实现计算器的加法
classmyEvent3implementsActionListener{
}//实现计算器的减法
四、测试数据和程序运行的结果
五、问题与总结
这个实验与上一次的实验有相关性,这次实验需要进行事件的处理,这就需要设置监听器和有关接口,但是刚开始时忽略了程序的完善性和健壮性,后面经过自己的一步步修改,程序也能够判断空格和不是数字的错误,并将相关错误显示在“运算结果”后面的空格上。
总的来说,这个实验不仅要求我们实现其基本功能,更要求我们实现程序的健壮性。
6、附录
程序代码:
packageTest;
importjava.awt.GridLayout;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.JLabel;
importjavax.swing.JTextField;
importjavax.swing.JButton;
importjavax.swing.JFrame;
publicclassFrameApp{//生成图形界面
doubleA1,A2,answer;
JFramejfr=newJFrame("BasicApplication");
GridLayoutgridLayout=newGridLayout();
JLabela1=newJLabel("简易计算器");
JLabela2=newJLabel("运算一");
JLabela3=newJLabel("运算二");
JLabela4=newJLabel("运算结果");
JTextFieldc1=newJTextField();
JTextFieldc2=newJTextField();
JTextFieldc3=newJTextField();
JButtonb1=newJButton("相加");
JButtonb2=newJButton("相减");
JButtonb3=newJButton("全部清零");
publicFrameApp(){
b1.addActionListener(newmyEvent1());//事件监听
b2.addActionListener(newmyEvent2());//事件监听
b3.addActionListener(newmyEvent3());//事件监听
jfr.setSize(300,400);
jfr.setLayout(null);
a1.setSize(90,30);
a1.setLocation(100,20);
a2.setSize(90,30);
a2.setLocation(50,80);
a3.setSize(90,30);
a3.setLocation(50,130);
a4.setSize(90,30);
a4.setLocation(50,180);
c1.setSize(90,30);
c1.setLocation(140,80);
c2.setSize(90,30);
c2.setLocation(140,130);
c3.setSize(90,30);
c3.setLocation(140,180);
b1.setSize(70,40);
b1.setLocation(50,250);
b2.setSize(70,40);
b2.setLocation(160,250);
b3.setSize(90,40);
b3.setLocation(100,300);
jfr.add(a1);
jfr.add(a2);
jfr.add(a3);
jfr.add(a4);
jfr.add(c1);
jfr.add(c2);
jfr.add(c3);
jfr.add(b1);
jfr.add(b2);
jfr.add(b3);
jfr.setResizable(true);
jfr.setVisible(true);
}
classmyEvent1implementsActionListener{//实现接口中的方法,进行具体的事件处
//理,实现相加
doubleA1,A2,answer;
publicvoidactionPerformed(ActionEvente)
{if(Check(c1)&&Check(c2))
{
A1=Double.parseDouble(c1.getText());
A2=Double.parseDouble(c2.getText());
answer=A1+A2;
c3.setText(Double.valueOf(answer).toString());
}
elsec3.setText("输入不正确!
");}}
classmyEvent2implementsActionListener{///实现接口中的方法,进行具体的事件处//理,实现相减
doubleA1,A2,answer;
publicvoidactionPerformed(ActionEvente){
if(Check(c1)&&Check(c2)){
A1=Double.parseDouble(c1.getText());
A2=Double.parseDouble(c2.getText());
answer=A1-A2;
c3.setText(Double.valueOf(answer).toString());}
elsec3.setText("输入不正确!
");}}
classmyEvent3implementsActionListener{//实现接口中的方法,进行具体的事件处
//理,将空格清空
publicvoidactionPerformed(ActionEvente){
c1.setText(null);
c2.setText(null);
c3.setText(null);}}
booleanCheck(JTextFielda)
{
if(a.getText().length()==0)
returnfalse;
elsereturntrue;}
publicstaticvoidmain(Stringargs[]){
FrameAppnla=newFrameApp();//生成实例对象}
}
实验五异常
一、实验目的
1、掌握异常的概念、作用、分类和进行异常处理的语法结构。
2、了解系统异常类的体系和系统定义的常见标准异常。
3、掌握用户自定义异常类的定义和抛出异常的方法。
4、通过掌握异常来分析调试程序的编译错误和编写更健壮的程序。
二、实验内容:
1、标准异常:
设计一个程序,使得其运行时,可以接受用户输入若干个整数并依次存入数组中,不限定输入数的个数,使得在输入数的个数超过数组的实际大小时产生数组下标越界异常(ArrayIndexOutOfBoundsException)。
程序代码中“不需要”对异常进行捕获处理,观察异常产生时程序运行是否被中断,编译器产生了怎样的提示。
2、自定义异常:
设计一个新的程序或者完善题目1的程序,使得其运行时,可以接受用户输入若干个数并依次存入数组中。
要求用户输入的整数必须大于0小于100。
如果不符
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 实验 报告