最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

Java实验

来源:动视网 责编:小OO 时间:2025-09-25 05:14:43
文档

Java实验

序号实验项目名称学时分配必做/选做1熟悉JAVA开发环境2必做2Java基本语法2必做3面向对象的“对象”2必做4JAVA数组2必做5JAVA封装性设计与使用2必做6静态变量、静态方法与包2必做7Java常用系统类2必做8对象的进一步探讨--面向对象中的继承2必做9深入多态2必做10基于SWING的图形界面编程2必做11可视化程序的事件处理2必做合计22实验一熟悉Java开发环境(验证性2学时)一、实验目的与要求:1掌握JavaApplication程序的开发过程并编写第一个JavaAppli
推荐度:
导读序号实验项目名称学时分配必做/选做1熟悉JAVA开发环境2必做2Java基本语法2必做3面向对象的“对象”2必做4JAVA数组2必做5JAVA封装性设计与使用2必做6静态变量、静态方法与包2必做7Java常用系统类2必做8对象的进一步探讨--面向对象中的继承2必做9深入多态2必做10基于SWING的图形界面编程2必做11可视化程序的事件处理2必做合计22实验一熟悉Java开发环境(验证性2学时)一、实验目的与要求:1掌握JavaApplication程序的开发过程并编写第一个JavaAppli

序号实验项目名称学时

分配

必做/选做

1熟悉JAVA开发环境

2必做
2Java基本语法

2必做
3面向对象的“对象”2必做
4JAVA数组

2必做
5JAVA封装性设计与使用

2必做
6静态变量、静态方法与包2必做
7Java常用系统类

2必做
8对象的进一步探讨--面向对象中的继承

2必做
9深入多态2必做
10基于SWING的图形界面编程

2必做
11可视化程序的事件处理2必做
          合计

22
实验一 熟悉Java开发环境

(验证性 2学时)

一、实验目的与要求:

1 掌握Java Application程序的开发过程并编写第一个Java Application程序

*2 掌握Java Applet程序的开发过程并编写第一个Java Applet程序。

*3 练习简单的HTML文件配合Java Applet使用。

4 熟悉jdk的使用

二、实验内容:

1  编写一个Java Application程序,在屏幕上显示”This is my first java program!”.

*2 编写第一个Java Applet 程序,在屏幕上显示”This is my first Java Applet!”

三、实验步骤:

1、jdk的使用

jdk开发工具包可以从java.sun.com网站下载,jdk不是集成编译环境,须手动运用命令行程序进行编译和解释执行

1)编辑.java文件

可以在记事本或其他纯文本编辑器中编辑,保存时把文件扩展名定为.java即可,当然要注意文件名命名的要求

2)编译生成.class文件

进入dos系统进行编译(如图1.1所示),格式如j,要注意

图1.1进入命令行

看javac.exe的路径并且MyFirstApplication.java文件路径和javac.exe路径一样。编译成功后就能在浏览器中看见多了一个MyFirsApplication.class或更多的.class文件。如图1.2所示

图1.2使用jdk编译MyFirstApplication.java文件

3)解释执行

Application程序:

同样是在dos系统下解释执行,格式如j注意.class后缀别加,如图1.3所示。

图1.3解释执行MyFirstApplication.class程序

* applet程序

进入dos系统进行编译,格式如j,要注意看javac.exe的路径并且MyFirstApplet.java文件路径和javac.exe路径一样。编译成功后就能在浏览器中看见多了一个MyFirsApplet.class或更多的.class文件

在解释执行前要把该applet程序(MyFirstApplet.class)嵌入到相应的HTML文件。即执行MyFirstApplet之前必须编写MyFirstApplet.html。然后使用浏览器或appletviewer.exe程序执行该.html文件。格式如

 AppletViewer   MyFirstAplet.html。如图1.4所示

图1.4 appletview 查看运行html文件

运行结果如图1.5所示:

图1.5

实验二 基本语法

 

一、实验目的与要求:

1.了解Java的数据类型

2.掌握各种变量的声明方式

3.理解运算符的优先级

4.掌握java基本数据类型。运算符与表达式、数组的使用方法

5.理解Java程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法

二、实验内容:

1.编写程序,打印自己的学号、姓名及专业。

2.编写程序,打印下列九九乘法表。

1X1=1

1X2=2  2X2=4

1X3=3  2X3=6  3X3=9

1X4=4  2X4=8  3X4=12  4X4=16

1X5=5  2X5=10  3X5=15  4X5=20  5X5=25

1X6=6  2X6=12  3X6=18  4X6=24  5X6=30  6X6=36

1X7=7  2X7=14  3X7=21  4X7=28  5X7=35  6X7=42  7X7=49

1X8=8  2X8=16  3X8=24  4X8=32  5X8=40  6X8=48  7X8=56  8X8=

1X9=9  2X9=18  3X9=27  4X9=36  5X9=45  6X9=54  7X9=63  8X9=72  9X9=81

3.编程输出以下图案:

要求:*行数n小于40,在程序开头直接指定,不必从键盘输入。

4.编写程序,将1~500间能同时被2,5,7整除的数打印出来。

5.输出100!的结果

简单实现:输出大概值,直接用一个变量累乘

100! ≈ 9.3326215443944152681699238856267e+157

6.给定某人这一月的工资收入为salary,该变量在程序开始处赋值,不需要从键盘输入,计算他这一月应该缴纳的个人所得税。个人所得税的计算方法请自己上网查询,按2011年9月执行的新标准。

例如:salary=2000,   个税=0;

      salary=3500,   个税=0;

      salary=5000,   个税=45;

      salary=8000,   个税=345;

      salary=20000,   个税=3120。

实验三 面向对象的”对象”

一、实验目的与要求:

1理解类的定义;

2掌握对象的声明; 

3学会使用构造函数初始化对象; 

4使用类的数据和方法。

二、实验内容:

1.  定义一个描述长方体的类Box,类中有三个整型的成员变量:length、width和height,分别表示长方体的长、宽和高。定义setInfo(int ,int ,int)方法设置这三个变量的值;定义volumn()方法求长方体的体积并返回整型结果;定义area()方法求长方体的表面积并返回整型结果;定义toString()方法把长方体的长、宽、高,以及长方体的体积和表面积转化为字符串并返回字符串。

编写Java应用程序,测试类Box,使用类中定义的各个方法,并将其结果输出。

2.  定义一个圆形类Circle,类中有一个用来描述半径的double型成员变量r,定义setR(double)方法初始化半径;定义getArea()方法求圆形的面积并返回double类型结果;定义getPerimeter()方法求圆形的周长并返回double类型结果。

编写Java应用程序,使用Circle类创建两个对象,通过相应方法分别设置不同的半径值,计算各自的面积及周长并显示结果。

实验四 数组

一.实验目的及要求

1. 学习并实践Java数组编程方法。

2. 学习并实践一维数组简单应用。

二. 实验内容

1从键盘读入一组实数到一个一维double型数组X中(直接按回车结束),并且:

①求出数组X中数据的平均值。

②求出数组X中数据的最大值和最小值。

③对数组X中的数据按照从小到大的顺序排序。

④输入一个实数x,从数组X中查找出x的位置。

⑤输入一个整数i,从数组X中删除第i个结点。

⑥输入一个整数i和一个实数x,将x插入到数组X第i个结点之前。

提示:

①以回车作为结束标志的成组数据的输入

②排序、插入、删除等改变数组值的操作不应破坏原始数组(即存放输入数据的数组),针对Java数组本身的特点,下面给出处理该问题的一个算法供参考:

a. 声明两个double数组的引用X和Y,并用常量为Y分配足够大的内存;

b. 将数据先输入Y,输入过程中记录实际数据个数n(以回车作为输入结束的标志);

c. 用实际数据个数n创建X,并调用arraycopy将Y中的前n个数据复制到X中;

d. 排序前调用clone方法将X克隆到Y,排序则针对Y进行;

e. 删除前为Y重新分配n-1个单元,删除过程中将X的n-1个数据转移到Y;

f. 插入前为Y重新分配n+1个单元,插入过程中将X的n个数据及插入值转移到Y。

实验五 Java类的封装性的设计与使用

一.实验目的及要求

1.熟悉Java类的封装性概念与作用;

2.掌握Java类构造方法的声明与方法的重载;

3.掌握类及其成员变量与成员方法的访问权限的设置;

二.实验内容

1.编写一个学校类School,其中包括成员变量schoolname(校名-String)、scoreLine(录取分数线-double类型)和构造方法(可完成对schoolname、scoreLine的初始值设置)以及获取schoolname、scoreLine值的getSchoolname方法getScoreLine方法。

2.编写一个学生类Student,它的成员变量有考生的name(姓名-String类型)、id(考号-int类型)、intgretResult(综合成绩-double类型)、sports(体育成绩-int类型)。它有一个构造方法(可设置学生name和id的初始值)及可以修改学生name和id值的方法set(String name,int id)和分别设置学生的intgretResult(综合成绩)及sports(体育成绩)值的两个方法Set(double intgretResult)和Set(int sports)及获得学生intgretResult(综合成绩)及sports(体育成绩)的方法getIntgretResult()和getSports()。

3.编写一个录取类matriculate ,它的一个方法用于判断学生是否符合录取条件。其中录取条件为:综合成绩在录取分数线之上,或体育成绩在90分以上并且综合成绩大于300分。

实验六 静态变量、静态方法与包

一.实验目的及要求

1、熟练静态变量、静态方法、实例变量、实例方法的概念

2、掌握包的概念与应用。

二.实验内容

1.阅读下列程序,并按照要求完成后续功能。

class Point

{

    private int x,y;

    Point (int xValue, int yValue)

    {

        x=xValue;

        y=yValue;

    };

    public int GetX()

    {

        return x;

    }

    public int GetY()

    {

        return y;

    }

    public void SetY(int value)

    {

         y=value;

    }

    public void SetX(int value)

    {

         x=value;

    }

}

class Managerpoint

{

    static int count=0;    

    Point createPoint(int x,int y)

    {

提示:在此处加入代码,完成程序的输出要求

    }

}

public class one {

    public static void main(String[] args) {

        // TODO Auto-generated method stub

        Managerpoint mPoint =new Managerpoint();

        for(int i=0;i<9;i++){

            Point p=mPoint.createPoint(i,20);        

            System.out.print("当前点的总数为:"+Managerpoint.count);

            System.out.println("当前点的x值为:"+p.GetX());

        }

    }

}

在提示处加入代码,要求:

●除提示处代码,其他代码保持不变

●Main方法的执行结果为:

当前点的总数为:1当前点的x值为:0

当前点的总数为:2当前点的x值为:1

当前点的总数为:3当前点的x值为:2

当前点的总数为:4当前点的x值为:3

当前点的总数为:5当前点的x值为:4

当前点的总数为:6当前点的x值为:5

当前点的总数为:7当前点的x值为:6

当前点的总数为:8当前点的x值为:7

当前点的总数为:9当前点的x值为:8

2.改错。

理解静态方法可访问静态变量,但在静态方法中不能直接访问实例变量。

提示:

阴影处为需要修改的代码。

public class one 

{        

    int x=8;

int y=9;

    final int i=10; 

    static int getY(){

        return y;

    }

    static int getI(){

        return i;

    }    

    public static void main(String[] args)

    {        

        System.out.println(one.x);

        System.out.println(one.y);

        System.out.println(one.i);

    }

}

修改程序,输出结果应为

8

9

10

二、包

新建2个包:

一个是dao,一个是logic

在dao包中编写2个类,分别为point、circle,,具体设计要求可参照前述实验

在logic包中编写1个类,为Test,在Test的main方法中测试上述2个类,应能有相关测试代码。

实验七 常用系统类的使用

一.实验目的及要求

1.掌握Math类的使用。 

2.掌握String类和StringBuffer类的使用 

3.掌握日期类的使用。

二.实验内容

1.编写运行下面代码,写出程序运行结果,理解Math类的使用和字符串转换成整数或浮点数的方法。

    public static void main(String[] args) {

        System.out.println(Math.abs(-5.8));

        System.out.println(Math.ceil(3.2));

        System.out.println(Math.floor(3.8));

        System.out.println(Math.round(3.8));

        System.out.println(Math.round(3.2));

        System.out.println(Math.min(3, 2));

        System.out.println(Math.max(Math.PI, 4));

        System.out.println("e is:" + Math.E);

        System.out.println("πis:" + Math.PI);

        System.out.println("16的1/4次幂:" + Math.pow(16, 0.25));

        String num1 = "121";

        String num2 = "232.2";

        System.out.println("两字符串之和为" + num1+num2);

        //掌握字符串转换成整数或浮点数的方法

        double sum = Integer.parseInt(num1) + Double.parseDouble(num2);

        System.out.println("两数之和为" + sum);

}

2.编写一方法,获得一Email地址的服务器名,若Email地址的格式不正确,返回“Email的格式不正确”。然后在主方法中测试使用。

说明:Email的格式为:用户名@邮件服务器,比如1234542@qq.com, 1234542是用户名,@代表at的意思,qq.com为邮件服务器地址。

3. 编写一方法,按格式“yyyy-MM-dd HH:mm:ss”获得当前时间。

实验八 对象的进一步探讨--面向对象中的继承

一.实验目的及要求

1. 理解继承的概念,了解其在程序设计中的作用;

2. 熟悉类的继承定义方法,熟练地由系统类或者自定义的类派生出子类,并熟知子类对继承自父类的成员的访问性;

3. 理解属性隐藏与方法覆盖(重写)的概念,并会调用父类中被隐藏的属性或被覆盖的方法;

4. 理解在子类中调用父类的构造方法的原则与方法;

5. 理解终结类、终结方法、抽象类、抽象方法的概念与特点;

6. 理解组合和继承的区别,知道何时使用哪种方法。

二.实验内容

1.定义一个球类Ball,包含一个私有成员变量半径(double  r),两个公有成员方法:设定半径值方法( void  setR(double  x) 、 得到半径值方法(double  getR( ))。

定义一个台球类Billiards,继承Ball类,包含一个私有成员变量颜色(String color),两个公有成员方法:设定颜色方法(void setCol (String  clo))、输出信息方法(void  show()),其中show方法可以输出该台球的颜色和半径值。

定义一个公有类,测试前两个类。

2.定义材料类Material,包含:

保护的成员变量名称、单价(String name; double  price;)

为数据初始化赋值的构造方法;

公有的成员方法得到所有信息(public String toString())。

定义木材类Wood,继承自材料类。包含:

私有的成员变量颜色(String  col;)

为数据初始化赋值的构造方法;

覆盖公有的成员方法得到所有信息(public String toString())。

定义公共类,测试上述两个类的使用。

思考:

程序中把木材类中toString()方法的public 去掉会产生什么结果?为什么?

程序中把材料类中toString()方法的public 去掉会产生什么结果?为什么?

思考题:

木材类中toString()方法的public 去掉程序会出错,因为该方法由材料类继承而来,子类覆盖父类的方法时不能缩小其访问权限,public去掉就会变成包访问权限,此处不能去掉。

    材料类中toString()方法的public 去掉会产生同样的问题,因为toString方法不是材料类自定义的,是所有类的父类Object类提供的。

3. 改写例7-8,给Shape类增加构造方法,能够对颜色进行初始化设置,思考两个子类的构造方法该如何修改才能使程序正常运行。

实验九 深入多态

一.实验目的及要求

1.掌握final修饰的最终类与最终方法的定义、特点及使用

2.掌握abstract修饰的抽象类与抽象方法的定义、特点及使用

3.掌握interface接口的定义、特点及使用

4.进一步理解多态

二.实验内容

1. 要使程序运行后出现如下结果,该如何修改程序代码。

去掉Person类前面的final,去掉Student类中show()方法前面的final。

2. 求正方形的面积

a)创建一个接口IShape ,接口中有一个抽象方法

public double area( );

b)定义一个类square,且实现IShape接口。square类有一个属性表示正方形的边长;构造方法初始化该边长。

c)定义一个主类,在此类中,创建square类的实例,求该正方形面积。

第1章基于Swing的图形界面编程

1. 编写程序,实现如下效果:

2. 用标签实现如下效果:

3. 编写程序,完成以下界面的设计和显示:

10行,20列

20字符宽

400

         

320

 

4. 完成下图所示的界面设计并显示出来:

5.  把面板和布局管理配合在一起使用,实现显示如下界面:

运行后试着调整窗体的尺寸,观察窗体内组件的变化。

第2章

可视化程序的事件处理

1. 编写程序,能够在窗体内显示被点击按钮的信息。运行效果图如下:

2. 编写程序,实现如下界面,当用户在文本框中输入内容后,点击不同的按钮,能够把文本框中的内容粘贴到文本区中。“重置”按钮实现将文本框和文本区中的内容清空。界面上的文本区只能显示内容,不能让用户输入文本。

提示:

得到文本框中的文本、得到选中的文本、设置文本区中的文本、附加文本等,设置文本区不可用等,JTextField和JTextArea类均有相应方法实现。

3. 模仿例题,实现在窗体内移动鼠标时,能够实时显示鼠标指针的坐标位置。

4. 参考例题,编写程序,给界面上的文本框增加键盘事件处理,当在文本框中输入内容时,界面上不可编辑的文本区显示相应的按键信息。

实现原理:在键盘事件接口的三个方法中均得到按键码,再根据按键码转换为按键信息,增加到文本区中显示。

e.getKeyText(e.getKeyCode())

提示:最好使用带滚动窗格的文本区。输出按键信息的同时还输出方法名称,以方便观察按键事件处理的先后顺序。

5. 编写程序,实现使用键盘上的上下左右箭头控制界面上图片的移动。移动到边界时从界面另一侧出现。移动过程中显示另一个图片,停止时恢复原来的图片。

6.  编写程序,在界面上放置若干按钮,面板使用网格布局,要求有15像素的水平垂直间隔。使用弹出式菜单,点击菜单项时弹出颜色对话框,对相应的控件进行背景色设置。

提示:

需要给框架、按钮响应鼠标按下事件处理;

需要给菜单项响应点击事件处理;

弹出式菜单JPopupMenu。创建时通常不给参数,大多由单击鼠标右键触发。

使用add()方法给弹出式菜单添加菜单项。

    在mouseReleased()方法中通过e.isPopupTrigger()方法判断是否右键按下触发弹出式菜单。使用public void show(Component c, int x, int y)方法显示菜单。如:

    public void mouseReleased(MouseEvent e) {

        int x = e.getX();

        int y = e.getY();

        if(e.isPopupTrigger())

            popup.show(this,x,y);  

        

}

 

文档

Java实验

序号实验项目名称学时分配必做/选做1熟悉JAVA开发环境2必做2Java基本语法2必做3面向对象的“对象”2必做4JAVA数组2必做5JAVA封装性设计与使用2必做6静态变量、静态方法与包2必做7Java常用系统类2必做8对象的进一步探讨--面向对象中的继承2必做9深入多态2必做10基于SWING的图形界面编程2必做11可视化程序的事件处理2必做合计22实验一熟悉Java开发环境(验证性2学时)一、实验目的与要求:1掌握JavaApplication程序的开发过程并编写第一个JavaAppli
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top