1、java实验报告 Java程序设计实验报告 学号: 名字:实验一 JAVA开发环境及基本语法 一、实验目的:1、掌握常用的Java集成开发环境的使用,特别是Eclipse和NetBeans。2、掌握Java基本语法,重点是面向对象的思想和语法。 3、掌握控制台下(应用程序)的输入输出方法,作为后续部分实验的基础。二、实验内容: 1、打开实验室计算机上的集成开发环境Eclipse或NetBeans(重点是Eclipse),掌握其基本使用方法。了解开发软件的各个菜单功能。会创建java项目(Project),会编辑和编译、运行项目代码。 2、验证和学习所给的几个例子程序及其讲解。然后自己编写一个至
2、少由一个类构成的Java程序,其功能是在运行后,能接收用户输入一个学生的姓名以及java课的成绩(百分制),并输出对该学生成绩是否达到60分的及格分的判断(可使用if语句)。例如,输入学生姓名李明,然后输入成绩50,则输出“李明的成绩为不及格”。3、编写一个程序来表示长方体的长宽高等数据并有计算体积的函数可供调用,长方体类从矩形类继承而来。程序运行时能接受输入任意的3 个数作为长方体的长、宽和高,然后能够输出所输入的长宽高及所计算出的体积。注意不能把代码全部写在main函数里面,不能直接输出长宽高的乘积。3、设计过程 预习实验指导书上的内容,并将实验指导书上的例子用Eclipse验证,分析例子
3、的指导思想,然后根据例子的内容用java语言写出自己的程序。实验中需要学会利用控制台输出信息,使用语句“System.out.println(*); ”即可。 而在控制台下接受用户输入数据的方法为:Scanner sc = new Scanner(System.in); / 定义一个Scanner对象,从System.in接受输入 ;str = sc.next(); / 等待用户输入任意一个字符串,它会被存到str中 ;在实验中还会使用if语句,这跟C+的用法差不多。4、测试数据和程序运行的结果程序一运行结果:请输入姓名、成绩:李明 50李明的成绩不合格程序二运行结果:请输入矩形长宽高:2 3
4、 6面积为36.0五、问题与总结 第一个实验主要是会使用if语句,用if语句来判断用户输入的数据是否符合要求。第二个实验要定义类函数,以便在main函数中使用。这两个实验是很基础的,但还是要细心准备,否则实验过程中也会有不可预料的错误出现。六、附录程序一代码:package shiyan01;import java.util.Scanner;public class First1 public static void main(String args) String str; / 定义一个字符串变量str int k,i; / 定义一个整型变量i System.out.println(请输入姓
5、名、成绩:); Scanner sc = new Scanner(System.in); / 定义一个Scanner对象,从System.in接受输入 str = sc.next(); / 等待用户输入任意一个字符串,它会被存到str中 i = sc.nextInt(); / 等待用户输入任意一个整数,它会被存到i中 if(i=60) System.out.println(str+的成绩是: + i); 程序二代码:package shiyan01;import java.util.Scanner;class Rec float long1,wide,high; Rec(float long1
6、,float wide,float high) this.long1=long1; this.wide=wide; this.high=high; float mianji(float long1,float wide,float high)/计算面积函数 float m; m=long1*wide*high; return m; void show() float c; c=mianji(long1,wide,high); System.out.println(面积为+c); /System.out.println(long1); public class Rectpublic static
7、 void main(String args) Rec hh; float f,g,h; System.out.println(请输入矩形长宽高:); Scanner sc = new Scanner(System.in);/定义一个Scanner对象,从System.in接受输入 f=sc.nextFloat(); g=sc.nextFloat(); h=sc.nextFloat(); hh=new Rec(f,g,h) hh.show();实验二 系统类和数组 一、实验目的1、通过字符串处理类的应用,掌握系统类的使用方法。2、掌握数组的定义和使用。 3、进一步掌握Java程序设计的基本过程
8、和基本方法。2、实验内容:用字符串输入的方式编写一个简单的通讯录。此通讯录由多条记录构成。每条记录包括一个联系人的姓名、性别、电话、通信地址,并具有查询、增加、修改、删除等功能,且每执行一次功能操作后,可以选择用类似以下的格式,输出通讯录的所有信息记录: 编号 姓名 性别 电话 通信地址 01 张三 男 123456 北京02 李四 女 456789 福建此处做一简单的参考性质的提示:可考虑用数组分别存储姓名,性别,电话,通信地址,那么查询,增加、修改、删除操作就可转换为对数组元素的操作。通讯录中的所有记录的每一个字段可以依次可以使用一维数组的各个元素来存放,并进行各项功能操作处理。3、设计过
9、程 程序中定义一个Student类,里面包含学生的学号,名字,性别,电话,住址,并且定义一个处理学生信息的DealStudent 类,里面有查找学生的函数find_Stu()、打印学生信息的函数 print_Fin_Stu()、添加学生信息的函数add_stu()、修改学生信息的函数modi_Stu()、删除学生信息的函数delete_Stu()。4、测试数据和程序运行的结果部分结果:5、问题与总结 这次实验是要求我们掌握系统类的使用方法,实验中定义了两个类,因此实验过程中出现了不少的错误,但是经过自己和同学把问题一步一步的解决,最终实验还是成功完成了。经过这次实验之后,自己进一步掌握J了av
10、a程序设计的基本过程和基本方法。六、附录程序主要代码:class Student long num;/编号 String strName;/姓名 String strSex;/性别 long phoneNum;/电话 String strAdr;/地址 boolean status; void Init(long n,String sN,String sS,long pN,String sA) this.status=true; this.num=n; this.strName=sN; this.strSex =sS; this.phoneNum=pN; this.strAdr=sA; cla
11、ss DealStudent ;/定义一个处理学生信息的类,里面包含查找学生、删除学生等函数;void print_Fin_Stu();/打印查找的学生信息函数void add_stu();/增加学生信息的函数void modi_Stu();/修改学生信息的函数int delete_Stu();/删除学生信息的函数void del_Stu();/显示删除后的学生信息void show_Stu();/显示学生信息函数public static int menu_Select();/显示菜单函数public static void main(String args) /主函数实验三 图形界面程序的
12、界面设计 一、实验目的 1、掌握Java图形界面程序设计的基本思想和步骤。 2、掌握JDK中AWT包和Swing包的基本使用方法和区别。 3、掌握容器和布局的概念和使用。 4、掌握图形界面程序的界面设计方法和步骤。 2、实验内容:自己编写所有代码,设计一个程序的界面。该程序的功能要求是:运行之后,界面要求基本如左图所示。其中界面设计时的顶层容器要求使用JFrame(或Frame),界面上的“简易计算器”、“运算数一”、“运算数二”、“运算结果”这些提示标签使用组件JLabel(或Label),输入运算数和输出运算结果使用JTextField(或TextField),“相加”、“相减”和“全部清
13、零”使用按钮JButton(或Button)。 请注意查阅JDK的API文档中这些相关的类,看看它们具有哪些构造函数可以用来生成所需的对象,它们具有哪些方法可以用来进行调用。注意保存好本次实验代码,下一次实验将会要求实现其事件处理以继续完善。 三、设计过程 先定义一个容器JFrame,然后添加按钮、文本框并设置大小位置。实验中的“运算数一”、“运算数一”、“运算结果”、“简易计算器”都是组件JLabel,“相加”、“相减”“全部清零”都是按钮JButton,并在容器中添加了三个JTextField。四、测试数据和程序运行的结果5、问题与总结 做好本次实验,动手写代码之前应该好好看实验指导书上的
14、内容,这样才有完成本次实验的思想。6、附录程序代码:package two;import javax.swing.JTextField;import javax.swing.JFrame;import javax.swing.JButton;import javax.swing.JLabel;public class Test03 JLabel b1=new JLabel(运算数一); JLabel b2=new JLabel(运算数一); JLabel b3=new JLabel(运算结果); JLabel b4=new JLabel(简易计算器); JButton a1=new JButt
15、on(相加); JButton a2=new JButton(相减); JButton a3=new JButton(全部清零); JFrame frame=new JFrame(Basic Application); /定义一个JFrame容器对象frame JTextField d1=new JTextField(20); /生成对象实例 JTextField d2=new JTextField(20); JTextField d3=new JTextField(20);public Test03() frame.setSize(250,400);/定义容器大小 frame.setLayo
16、ut(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)
17、; 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
18、(a3);/往容器添加按钮 frame.getContentPane().add(b1);/往容器添加组件 frame.getContentPane().add(b2);/往容器添加组件 frame.getContentPane().add(b3);/往容器添加组件 frame.getContentPane().add(b4);/往容器添加组件 frame.setResizable(true); frame.setVisible(true);/设置为可视public static void main(String args)Test03 n=new Test03(); /定义对象实例,调用构造
19、函数生成界面实验四 图形界面程序的事件处理 一、实验目的1、掌握Java图形界面程序设计的基本思想和步骤。 2、掌握图形界面程序设计中键盘鼠标事件处理的机制。 3、了解常用的监听器接口及其方法和作用。 4、掌握图形界面程序设计中事件处理的方法和步骤。 二、实验内容: 在上一个实验(实验三)中,我们设计了一个简易计算器的界面。但仅仅要求设计出其界面,而没有要求进行事件处理。在本次实验中,请实现其事件处理。使得程序运行之后,当输入两个运算数后,点击“相加”或者“相减”按钮,两数相加或相减的结果就会显示在“运算结果”框中。 如果点击“全部清零”按钮,那么两个运算数输入框和运算结果框中就会完全被清空。
20、 三、设计过程主要算法:public class FrameApp b1.addActionListener(new myEvent1(); b2.addActionListener(new myEvent2(); b3.addActionListener(new myEvent3();/定义一个图形界面,并且设置相关/按钮的监听方法class myEvent1 implements ActionListener/实现计算器的加法class myEvent3 implements ActionListener/实现计算器的减法四、测试数据和程序运行的结果五、问题与总结 这个实验与上一次的实验有
21、相关性,这次实验需要进行事件的处理,这就需要设置监听器和有关接口,但是刚开始时忽略了程序的完善性和健壮性,后面经过自己的一步步修改,程序也能够判断空格和不是数字的错误,并将相关错误显示在“运算结果”后面的空格上。总的来说,这个实验不仅要求我们实现其基本功能,更要求我们实现程序的健壮性。6、附录程序代码:package Test;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JLabel;import java
22、x.swing.JTextField;import javax.swing.JButton;import javax.swing.JFrame;public class FrameApp /生成图形界面 double A1,A2,answer; JFrame jfr = new JFrame(Basic Application); GridLayout gridLayout = new GridLayout(); JLabel a1 = new JLabel(简易计算器); JLabel a2 = new JLabel(运算一); JLabel a3 = new JLabel(运算二); JL
23、abel a4 = new JLabel(运算结果); JTextField c1 = new JTextField(); JTextField c2 = new JTextField(); JTextField c3 = new JTextField(); JButton b1 = new JButton(相加); JButton b2 = new JButton(相减); JButton b3 = new JButton(全部清零); public FrameApp() b1.addActionListener(new myEvent1();/事件监听 b2.addActionListen
24、er(new myEvent2();/事件监听 b3.addActionListener(new myEvent3();/事件监听 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(
25、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)
26、; 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); class myEvent1 implements ActionListener/实现接口中的方法,进行具体的事件处/理 ,实现相加 double A1,A2,answer; public void actionPerformed(ActionEvent e) if(Check(c1)&Check(c2) A1=Doub
27、le.parseDouble(c1.getText(); A2=Double.parseDouble(c2.getText(); answer=A1+A2; c3.setText(Double.valueOf(answer).toString(); else c3.setText(输入不正确!); class myEvent2 implements ActionListener/实现接口中的方法,进行具体的事件处/理 ,实现相减 double A1,A2,answer; public void actionPerformed(ActionEvent e) if(Check(c1)&Check(
28、c2) A1=Double.parseDouble(c1.getText(); A2=Double.parseDouble(c2.getText(); answer=A1-A2; c3.setText(Double.valueOf(answer).toString(); else c3.setText(输入不正确!); class myEvent3 implements ActionListener/实现接口中的方法,进行具体的事件处/理 ,将空格清空 public void actionPerformed(ActionEvent e) c1.setText(null); c2.setText
29、(null); c3.setText(null); boolean Check(JTextField a) if(a.getText().length()=0) return false; else return true; public static void main(String args) FrameApp nla = new FrameApp(); /生成实例对象 实验五 异常 一、实验目的1、掌握异常的概念、作用、分类和进行异常处理的语法结构。 2、了解系统异常类的体系和系统定义的常见标准异常。 3、掌握用户自定义异常类的定义和抛出异常的方法。 4、通过掌握异常来分析调试程序的编译错误和编写更健壮的程序。 二、实验内容:1、标准异常:设计一个程序,使得其运行时,可以接受用户输入若干个整数并依次存入数组中,不限定输入数的个数,使得在输入数的个数超过数组的实际大小时产生数组下标越界异常(ArrayIndexOutOfBoundsException)。程序代码中“不需要”对异常进行捕获处理,观察异常产生时程序运行是否被中断,编译器产生了怎样的提示。 2、自定义异常:设计一个新的程序或者完善题目1的程序,使得其运行时,可以接受用户输入若干个数并依次存入数组中。要求用户输入的整数必须大于0小于100。如果不符
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1