当前位置:文档之家› 最新Java程序设计-试验2(学生版)

最新Java程序设计-试验2(学生版)

最新Java程序设计-试验2(学生版)
最新Java程序设计-试验2(学生版)

华北电力大学

实验报告

实验名称Java程序面向对象设计(一)课程名称Java程序设计

专业班级:学生姓名:

学号:成绩:

指导教师:张学斌实验日期:

一、实验目的及要求

1.掌握类的定义。

2.掌握成员变量和成员方法的定义。

3.掌握构造方法的定义和使用。

4.掌握类的多态性

二、实验环境

Windows2000/Windows XP,JDK 1.2~1.6

三、试验内容和步骤

要求按照实验内容,写出详细实验过程和步骤,必要时截图。

实验1 机动车

1.1实验要求

编写一个Java应用程序,该程序有两个类:Vehicle(用于刻画机动车)和User(主类)。具体要求如下:

Vehicle类有一个double类型的变量speed,用于刻画机动车的速度,一个int型变量power,用于刻画机动车的功率。定义了speedUp(int s)方法,体现机动车有加速功能。定义了speedDown()方法,体现机动车有减速功能。定义了setPower(int s),用于设置机动车的功率。定义了getPower()方法,用于获取机动车的功率。

在主类User的mian()方法中用Vehicle类创建对象,并让该对象调用方法设置功率,演示加速和减速功能。

1.2程序模板

Vehicle.java

public class Vehicle {

【代码1】//声明double型变量speed,刻画速度

【代码2】//声明int型变量power,刻画功率

void speedUp(int s) {

【代码3】//将参数s的值与成员变量speed的和赋值给成员变量speed

}

void speedDown(int d) {

【代码4】//将成员变量speed与参数d的差赋值给成员变量speed

}

void setPower(int p) {

【代码5】//将参数p的值赋值给成员变量power

}

int getPower() {

【代码6】//返回成员变量power的值

}

double getSpeed() {

return speed;

}

}

----------------------------------------------------------------------------------------------

User.java

public class User {

public static void main(String args[]) {

Vehicle car1,car2;

【代码7】//使用new 运算符和默认的构造方法创建对象car1

【代码8】//使用new 运算符和默认的构造方法创建对象car2

car1.setPower(128);

car2.setPower(76);

System.out.println("car1的功率是:"+car1.getPower());

System.out.println("car2的功率是:"+car2.getPower());

【代码9】//car1调用speedUp方法将自己的speed的值增加80

【代码10】//car2调用speedUp方法将自己的speed的值增加80

System.out.println("car1目前的速度:"+car1.getSpeed());

System.out.println("car2目前的速度:"+car2.getSpeed());

car1.speedDown(10);

car2.speedDown(20);

System.out.println("car1目前的速度:"+car1.getSpeed());

System.out.println("car2目前的速度:"+car2.getSpeed());

}

}

1.3 实验指导

●创建一个对象时,成员变量被分配空间,这些内存空间称作该对象的实体或变量,而对象中

存放着引用,以确保这些变量被该对象操作使用。

●空对象不能使用,即不能让一个空对象去调用方法产生行为。假如程序中使用了空对象,在

运行时会产生异常:NullPointerException,对象时动态地分配实体的,Java的编译器对空对象不做检查。因此,在编译时要避免使用空对象。

1.4实验改进(编写程序,并给出结果)

1.改进speedUp()方法,使得Vehicle类的对象加速时不能将speed值超过200.

2.改进speedDown()方法,使得Vehicle类的对象在减速时不能将speed值小于0.

3.增进一个刹车方法void brake(),Vehicle类的对象调用它能将speed的值变成0.

1.5 实验结果

实验2 家中的电视

1.实验要求

编写一个Java应用程序,模拟家庭买一台电视,即家庭将电视作为自己的一个成员,即通过调用一个方法将某个电视的引用传递给自己的电视成员。具体要求如下:

●有三个源文件,其中TV.java中的TV类负责创建“电视”对象。Family.java中的Family类

负责创建“家庭”对象,MainClass.java是主类。

●在主类的main()方法中首先使用TV类创建一个对象haierTV ,然后使用Family类再创建一

个对象zhangsanFamily,并将先前TV类的实例haierTV的引用传递给zhangsanFamily对象的成员变量homeTV。

2.程序模板

TV.java

public class TV {

int channel; //电视频道

void setChannel(int m) {

if(m>=1){

channel=m;

}

}

int getChannel(){

return channel;

}

void showProgram(){

switch(channel) {

case 1 : System.out.println("综合频道");

break;

case 2 : System.out.println("经济频道");

break;

case 3 : System.out.println("文艺频道");

break;

case 4 : System.out.println("国际频道");

break;

case 5 : System.out.println("体育频道");

break;

default : System.out.println("不能收看"+channel+"频道");

}

}

}

----------------------------------------------------------------------------------------------

Family.java

public class Family {

TV homeTV;

void buyTV(TV tv) {

【代码1】//将参数tv赋值给homeTV

}

void remoteControl(int m) {

homeTV.setChannel(m);

}

void seeTV() {

homeTV.showProgram(); //homeTV调用showProgram()方法

}

}

-----------------------------------------------------------------------------------------

MainClass.java

public class MainClass {

public static void main(String args[]) {

TV haierTV = new TV();

【代码2】//haierTV调用setChannel(int m),并向参数m传递5

System.out.println("haierTV的频道是"+haierTV.getChannel());

Family zhangSanFamily = new Family();

【代码3】//zhangSanFamily调用void buyTV(TV tv)方法,并将haierTV传递给参数TV

System.out.println("zhangSanFamily开始看电视节目");

zhangSanFamily.seeTV();

int m=2;

System.out.println("hangSanFamily将电视更换到"+m+"频道");

zhangSanFamily.remoteControl(m);

System.out.println("haierTV的频道是"+haierTV.getChannel());

System.out.println("hangSanFamily再看电视节目");

zhangSanFamily.seeTV();

}

}

3.实验结果

实验3 共饮同井水

1.实验要求

编写程序模拟两个村庄共用一口水井。编写一个Village类,该类有一个静态的int型成员变量waterAmount,用于模拟井水的水量。在主类Land的main()方法中创建两个村庄,一个村庄改变了waterAmount的值,另一个村庄查看waterAmount的值。

2.程序模板

Village.java

public class Village {

static int waterAmount; //模拟水井的水量

int peopleNumber; //村庄的人数

String name; //村庄的名字

Village(String s) {

name = s;

}

static void setWaterAmount(int m) {

if(m>0)

waterAmount = m;

}

void drinkWater(int n){

if( waterAmount-n>=0) {

waterAmount = waterAmount-n;

System.out.println(name+"喝了"+n+"升水");

}

else

waterAmount = 0;

}

static int lookWaterAmount() {

return waterAmount;

}

void setPeopleNumber(int n) {

peopleNumber = n;

}

int getPeopleNumber() {

return peopleNumber;

}

}

-----------------------------------------------------------------------------

Land.java

public class Land {

public static void main(String args[]) {

【代码1】//用类名调用setWaterAmount(int m),并向参数传值200

int leftWater =【代码2】//用Village类的类名访问waterAmount

System.out.println("水井中有"+leftWater+" 升水");

Village zhaoZhuang,maJiaHeZhi;

zhaoZhuang = new Village("赵庄");

maJiaHeZhi = new Village("马家河子");

zhaoZhuang.setPeopleNumber(80);

maJiaHeZhi.setPeopleNumber(120);

【代码3】//zhaoZhuang调用drinkWater(int n),并向参数传值50

leftWater = 【代码4】//maJiaHeZhi调用lookWaterAmount()方法

String name=https://www.doczj.com/doc/442135073.html,;

System.out.println(name+"发现水井中有"+leftWater+" 升水");

maJiaHeZhi.drinkWater(100);

leftWater = 【代码5】//zhaoZhuang调用lookWaterAmount()方法

name=https://www.doczj.com/doc/442135073.html,;

System.out.println(name+"发现水井中有"+leftWater+" 升水");

int peopleNumber = zhaoZhuang.getPeopleNumber();

System.out.println("赵庄的人口:"+peopleNumber);

peopleNumber = maJiaHeZhi.getPeopleNumber();

System.out.println("马家河子的人口:"+peopleNumber);

}

}

3.实验指导

●当java程序执行时,类的字节码文件被加载到内存,如果该类没有创建对象,类的实

例变量就不会被分配内存。但是,类的类变量,在该类被加载到内存时,就分配了相应

的内存变量。如果该类创建对象,那么不同对象的实例变量互不相同,即分配不同的内

存空间,而类变量不再重新分配内存,所有对象共享类变量。

●当类的字节码文件被加载到内存时,类的实例方法不会被分配入口地址,只有当该类创

建对象后,类中的实例方法才分配入口地址。当使用new运算符和构造方法创建对象

时,首先分配成员变量给对象,同时实例方法必须分配入口地址,然后再执行构造方法

中的语句,完成必要的初始化。因而实例方法必须由对象调用执行。需要注意的是,当

创建第一个对象时,类中的实例方法就分配了入口地址,当再创建对象时,不再分配入

口地址,也就是说,方法的入口地址被所有的对象共享。对于类中的类方法,在该类被

加载到内存时,就分配了相应的入口地址,即使该类没有创建对象,也可以直接通过类

名调用类方法。

4.扩展练习

(1) 【代码3】是否可以是Village.drinkWater(50);,为什么?

(2) 【代码4】是否可以是Village.lookWaterAmount();,为什么?

(3) Land类main()方法中倒数第2行代码是否可以更改为:

peopleNumber = Village.getPeopleNumber(); 为什么?

5.实验结果

实验4 求方程的根

1.实验要求

按照实验要求使用package语句将方程属性即计算根的方法封装在一个有包名的类中,包名是tom.jiafei,类的名字是SquareEquation。编写一个SunRise的主类,该主类使用import语句引入tom.jiafei 包中的SquareEquation类。

2.程序模板

模板1

将模板1给出的源文件SquareEquation.java编译后得到的字节码文件复制到c:/1000/tom/jiafei 目录中。

SquareEquation.java

package tom.jiafei;

public class SquareEquation {

double a,b,c;

double root1,root2;

boolean boo;

public SquareEquation(double a,double b,double c) {

this.a=a;

this.b=b;

this.c=c;

if(a!=0)

boo=true;

else

boo=false;

}

public void getRoots() {

if(boo) {

System.out.println("是一元2次方程");

double disk=b*b-4*a*c;

if(disk>=0) {

root1=(-b+Math.sqrt(disk))/(2*a);

root2=(-b-Math.sqrt(disk))/(2*a);

System.out.printf("方程的根:%f,%f\n",root1,root2);

}

else {

System.out.printf("方程没有实根\n");

}

}

else {

System.out.println("不是一元2次方程");

}

}

public void setCoefficient(double a,double b,double c) {

this.a=a;

this.b=b;

this.c=c;

if(a!=0)

boo=true;

else

boo=false;

}

}

模板2

1.设置classpath。假设本地JDK的安装目录是:D:\jdk1.6。

在命令行执行如下命令:set classpath = D:\jdk1.6\jre\lib\rt.jar;.;c:\1000;

或右击“我的电脑”->属性->系统特性->高级选项->环境变量,将classpath的值改为classpath = D:\jdk1.6\jre\lib\rt.jar;.;c:\1000;

2.将模板2给出的Java源程序SunRise.java保存到D:\2000中。

SunRise.java

import tom.jiafei.*;

public class SunRise {

public static void main(String args[]) {

SquareEquation equation=new SquareEquation(4,5,1);

equation.getRoots();

equation.setCoefficient(-3,4,5);

equation.getRoots();

}

}

3 实验指导

?如果使用import语句引入了整个包中的类,那么可能会增加编译时间。但绝不会影响程序

运行的性能。Java运行平台由所需要的Java类库和虚拟机组成,这些类库被包含在一个jre\lib 中的压缩文件中,当程序执行时,Java运行平台从类库中加载程序真正使用的类字节码到内存。

?可以使用import语言引入自定义包中的类,但必须在classpath中指明包的位置。

实验5 实例成员和类成员

1.实验要求

掌握实例成员和类成员的使用方法

2.程序模板

Example.java

class A

{

【代码1】//声明一个float型实例变量a

【代码2】//声明一个float型类变量b,即static变量b

void setA(float a)

{

【代码3】//将参数a的值赋值给成员变量a

}

void setB(float b)

{

【代码4】//将参数b的值赋值给成员变量b

}

float getA()

{

return a;

}

float getB()

{

return b;

}

void inputA()

{

System.out.println(a);

}

static void inputB()

{

System.out.println(b);

}

}

public class Example

{

public static void main(String args[])

{

【代码5】//通过类名操作类变量b,并赋值100

【代码6】//通过类名调用方法inputB()

A cat=new A();

A dog=new A();

【代码7】//cat象调用方法setA(int a)将cat的成员a的值设置为200

【代码8】//cat调用方法setB(int b)将cat的成员b的值设置为400

【代码9】//dog象调用方法setA(int a)将dog的成员a的值设置为150 【代码10】//dog调用方法setB(int b)将dog的成员b的值设置为300

【代码11】//cat调用inputA()。

【代码12】//cat调用inputB()。

【代码13】//dog调用inputA()。

【代码14】//dog调用inputB()。

}

}

实验6 银行账户

1.实验要求

声明银行账户类,成员变量包括账号、储户姓名、开户时间、身份证号码、存款余额等信息,成员方法包括开户、存款、取款、查询(余额、明细)、销户等操作。

public class Account{

private String acctNumber;

private String customerName;

private String acctOpenTime;

private String customerIdNum;

private double balance;

public Account(String accoutnNumber){

this.acctNumber = accoutnNumber;

}

public Account openAccount(String accountNumber){

return new Account(accountNumber);

}

public void save(double money){

this.balance += money;

}

public void query(){

System.out.println("Balance is: " + balance);

//....

}

}

2.实验结果

五、本次上机体会

创建一个Rectangle类,添加两个属性width、height。

(1)在Rectangle中添加两个方法计算矩形的周长和面积。

(2)编程利用Rectangle输出一个矩形的周长和面积。

设计一个Array类,添加一个整型数组,添加构造方法对数组赋初值。

(1)为Array类添加数组求和方法,添加返回求和值的方法。

(2)编程利用Array计算数组的和值并输出。

(实验报告如打印,纸张用A4,左装订;页边距:上下2.5cm,左2.9cm, 右2.1cm;字体:宋体小四号,1.25倍行距。)

Java程序设计-实验报告1-模板 (1)

实验报告 课程名称Java程序设计 实验项目实验一类和对象 系别_________计算机_________ 专业/班级_______计算机类/1402______ 姓名_____李馨雪________ 实验日期______2015.10.10______ 成绩_______________________ 指导教师

一、实验题目:实验一类和对象 二、实验内容: (1)用类描述计算机中CPU的速度和硬盘的容量。要求Java应用程序有4个类,名字分别是PC、CPU、HardDisk和Test,其中Test是主类。 1)PC类与CPU类和HardDisk类关联的UML图如图所示。 其中,CPU类要求getSpeed()返回speed的值,setSpeed(int m)方法 将参数m的值赋值给speed。 HardDisk类要求getAmount()返回amount的值,setAmount(int m)方 法将参数m的值赋值给amount。 PC类要求setCPU(CPU c)将参数c的值赋值给cpu,要求setHardDisk (HardDisk h)方法将参数h的值赋值给HD,要求show()方法能显示 cpu的速度和硬盘的容量。 2)主类Test的要求 main()方法中创建一个CPU对象cpu,其speed设置为2200; main()方法中创建一个HardDisk对象disk,其amount设置为200; main()方法中创建一个PC对象pc, pc调用setCPU方法,实参是cpu;调用setHardDisk方法,实参是 disk;调用show方法。 (2)设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声,要求如下: 1)编写接口Animal,有2个抽象方法cry()和getAnimaName(); 2)编写模拟器类Simulator,该类有一个playSound(Animal animal)方法,其形参是Animal类型,可以调用实现Animal接口的类所重写的cry()方法播放具体动物的声音,调用重写方法显示动物种类的名称; 3)编写实现Animal接口的Dog类和Cat类。具体的UML图如下所示:4)编写主类Application,其main方法中至少包含如下代码: Simulator si=new Simulator();

java程序设计基础(第3版)实验指导答案 第三章

实验10 import java.util.*; public class shiyan10 { public static void main(String[] args) { int a=0,b=0,c=0,max=0; Scanner reader=new Scanner(System.in); System.out.println("从键盘输入第一个整数"); a=reader.nextInt(); System.out.println("从键盘输入第二个整数"); b=reader.nextInt(); System.out.println("从键盘输入第三个整数"); c=reader.nextInt(); if(a>b) max=a; else max=b; if(c>max) max=c; System.out.println("最大的数是"+max); } }//在程序中输入三个整数,比较它们的大小,输出最大的数 实验11 public class shiyan11 { public static void main(String[] args) { int s=0; for(int i=0;i<100;i++) { s=s+i; i++; } System.out.println("1+3+5+···+99="+s); } }//用for循环语句求1+3+5+···+99的值 实验12 import java.util.*; public class shiyan12 {

public static void main(String[] args) { int a=0,i=1,s=0; Scanner reader=new Scanner(System.in); while(a<50||a>100) { System.out.println("从键盘输入一个50~100的整数"); a=reader.nextInt(); } System.out.println("你输入的数是"+a); while(i<=a) { s=s+i; i++; } System.out.println("1+2+3+···+"+a+"="+s); } } //编写从键盘输入一个范围在50~100的整数,如果不正确,则继续输入;然后求1到输入整数的累加 实验13 public class shiyan13 { public static void main(String[]args) { int i=100,s=0; do { s=s+i; i--; } while(i>0); System.out.println("100+99+98+···+2+1="+s); } } //用do-while语句求100+99+···+2+1的值 实验14 import java.util.*; public class shiyan14 { public static void main(String[] args)

java 程序设计 实验五

C H A N G Z H O U U N I V E R S I T Y 实验报告 课程名称:JAVA程序设计 学生姓名:文浩班级计算机141 学号14416122 学院(系):信息数理学院指导教师:吕猛 实验时间:2016 年12 月 6 日实验名称:实验五基于Swing的图形用户界面开发实验

实验五基于Swing的图形用户界面开发实验 一实验容 (1)完成开发界面如图所示,实现如下功能 ①选中“查看已有名片”按钮,程序处于查看状态,可以在“名片列表”中选择要查看的名片,程序在“名片详实信息”栏显示该名片的详实信息,此状态中名片信息处于不可编辑状态 ②选中“添加新名片”按钮,程序处于添加状态,所有关于明天信息的项目都处于可编辑状态,设置完成相关信息后,单击“添加”按钮,在“名片列表”中出现新添加名片的名称。单击“清空”按钮可以清空还没提交的容 ③在查看状态和添加状态下,都可以通过点击“爱好”、“学历”单选按钮以显示名片的不同附加信息 (备注:名片附加信息部分,当点击“爱好”按钮时显示的如图1所示,当点击“学历”按钮时显示如图2所示。) 图1

图2 (2)记事本设计与实现 如图所示(1)编程实现如图所示的界面(2)实现文件、编辑、格式、查看,帮助菜单(3)实现记事本的基本功能

二实验目的 (1)理解组件的分类 (2)掌握容器、布局管理器、普通组件的使用 (3)理解事件处理机制的工作原理 (4)掌握事件的添加和功能代码的编写方法 三实验过程 (1)问题分析 答:名片的设计除了使用最基本的组件,如JButton,Jlist,JCheckBox,JTextField, JRadioButton, CardLayout以外,最主要的是逻辑事件的编写,在成功布局完见面后,就需要编写事件处理。首先,由于是名片信息,保存着一个人的基本信息,所以可以用一个类来表示,如PersonInf类,其次,由于是多个人的信息,可以通过ArrayList 来存放类;其次就是当点击按钮的时候,正确添加和显示信息,此处用到cardLayout 布局,可以减少界面的复杂度,在使用JList的时候,除了加滚动条意外,还需要listModel 获取数据等。 (2)代码编写 答: (1) public class PersonInf { public String yourname; public String address1;

Java程序设计上机实验

班级号一学号_姓名一题号java(多文件应压缩为rar): 实验1:熟悉上机环境,编写并运行简单的java程序(3学时)实验目的 (1)熟悉Java程序开发环境J2SDK+JCreator的安装及使用 ⑵熟悉Java Application 和Applet程序的结构及开发步骤 ⑶熟练掌握if语句的使用 ⑷掌握Math.sqrt()等常用数学函数的用法 ⑸熟悉System.out.print()的用法 实验内容及要求 按Java Application 和Applet两种方式分别编写程序,求 一元二次方程ax2+bx+c=0的根(系数在程序中给定),并输出。 思考并验证 (1)分别给定以下几组系数,给出输出结果 a=1,b=5,c=3 a=4, b=4, c=1 a=2, b=3, c=2 : + i ________ +_ _______ i ⑵如果程序的public类的类名和源文件的文件名不一样会有什

么问题? (3) 将类的public 修饰去掉是否可行?接着再将类名换为其它是 否可行?这说明了什么? (4) 将程序中main 前面的public 去掉,重新编译执行你的程序,你看到 了什么信息? (5) 将程序中main 前面的static 去掉,重新编译执行你的程序,你看到 了什么信息?为什么? (6) 本次上机中,你还遇到了什么问题,是如何解决的?

班级号一学号_姓名一题号java (多文件应压缩为rar ): 实验 2:控制流程 1(3 学时 ) 实验目的 (1) 进一步熟悉使用 if 语句 (2) 掌握循环语句实现循环的方法 实验内容及要求 输出时,只使用下面的语句: System.out.print( “ ”); // 不换行 System.out.print( “* ”); // 并且不换行 System.out.print( “+”); // 并且不换行 System.out.println( “*”;) // 并换行 编写程序输出(注:在图形的中心处有一个加号 ' +'): 思考并验证 下面程序片段给出了从键盘输入一个整数的方法: import java.io.*; 输出一个空格, 并且 输出一个字符' * ', 输出一个字符' +', 输出一个

java程序设计基础实验27

实验27 类的构造方法1 实验要求:编写一个Java程序,在程序中定义Student类,Student类有三个构造方法,分别对不同的属性进行初始化 编写程序如下 class Student //定义类Student. { String name; int age; public Student() //定义无参的构造方法。 { System.out.println("Student()构造方法被调用"); } public Student(String c) //定义有一个参数的构造方法。 { name=c; System.out.println("Student(String newName)构造方法被调用"); } public Student(String a,int b) //定义有两个参数的构造方法。 { name=a; age=b; System.out.println("Student(String newName,intnewAge)构造方法被调用"); } public static void main(String[] args) { Student volu1=new Student(); //创建Student类的一个对象,不传入参数 Student volu2=new Student("张三"); //创建Student类的一个对象,传入一个参数:”张三” Student volu3=new Student("张三",15); //创建Student类的一个对象,传入两个参数:”张三”、15 } } 运行结果如下

程序分析如下: 程序中的Student类有三个构造方法,分别对不同的属性进行初始化。

Java程序设计实验报告分析

学生实验报告 (理工类) 课程名称: JAVA程序设计专业班级: 13电子信息工程(2)学生学号: 1305102056 学生姓名:许伟铭 所属院部:软件工程学院指导教师:王倩倩 20 15 ——20 16 学年第 2 学期 金陵科技学院教务处制

实验报告书写要求 实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。纸张一律采用A4的纸张。 实验报告书写说明 实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。各院部可根据学科特点和实验具体要求增加项目。 填写注意事项 (1)细致观察,及时、准确、如实记录。 (2)准确说明,层次清晰。 (3)尽量采用专用术语来说明事物。 (4)外文、符号、公式要准确,应使用统一规定的名词和符号。 (5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。 实验报告批改说明 实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。 实验报告装订要求 实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

实验项目名称:JAVA编程基础实验学时: 4 同组学生姓名:————实验地点: 1514/A203 实验日期: 2016.04.08 实验成绩: 批改教师:王倩倩批改时间:

一、实验目的和要求 (1)熟练掌握JDK1.7及Eclipse Kepler Service Release 1(下简称Eclipse)编写调试Java应用程序及Java小程序的方法; (2)熟练掌握Java应用程序的结构; (3)了解Java语言的特点,基本语句、运算符及表达式的使用方法; (4)熟练掌握常见数据类型的使用; (5)熟练掌握if-else、switch、while、do-while、for、continue、break、return 语句的使用方法; (6)熟练掌握数组和字符串的使用; (7)调试程序要记录调试过程中出现的问题及解决办法; (8)编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验; (9)做完实验后给出本实验的实验报告。 二、实验仪器和设备 奔腾以上计算机,Windows 操作系统,装有JDK1.7和Eclipse软件。 三、实验过程 (1)分别使用JDK命令行和Eclipse编译运行Java应用程序。记录操作过程。 Java应用程序参考如下: 思考:1. 适当添加注释信息,通过javadoc生成注释文档; 2. 为主方法传递参数“Hello world”字符串,并输出; 3. 压缩生成".jar"文件。 (2)分别使用JDK命令行和Eclipse编译Java Applet,并建立HTML文档运行该Applet。 记录操作过程。 Java小应用程序参考如下:

(完整版)Java程序设计实验报告

Java 程序设计实验报告

实验一 JDK开发环境和结构化程序设计 实验学时:2 实验类型:综合性 一、实验目的 1.熟悉JDK开发环境。 2.熟悉UltraEdit/NotePad等编辑器编写、编译、运行Java程序。 3.掌握Java Application的程序结构和开发过程。 4.掌握Eclipse工具的使用。 5.结构化程序设计 二、实验内容 1.JDK开发环境 (1)J2sdk开发环境安装。假设JDK的安装路径为C:\JDK; (2)设置环境变量PATH和CLASSPATH(如果在autoexec.bat中没有进行设置)。如 SET PATH=C:\JDK\BIN;%PATH% SET CLASSPATH=.; %CLASSPATH%;d:\test_java (自己的工作目录) 2.UltraEdit/Notepad编辑器 练习使用Ultraedit/Notepad创建Java源程序的方法。

3.掌握Java Application程序开发过程 (1)编辑源程序,如下程序: import java.io.*; public class HelloWorld1{ public static void main(String arg[]){ System.out.println("Hello World!"); } } (2)保存文件,(注意大小写)。可将文件保存在“D:\test_java\”目录中,注意文件名为HelloWorld1.java。 (3)进入命令行(MS-DOS)方式,设定当前目录为“D:\test_java\”,运行Java 编译器: D:\test_java>javac HelloWorld1.java (4)如果输出错误信息,则根据错误信息提示的错误所在行返回EditPlus编辑器进行修改。常见错误是类名与文件名不一致、当前目录中没有所需源程序、标点符号全角等。 如果没有输出任何信息或者出现“deprecation”警告,则认为编译成功,此时会在当前目录中生成HelloWorld1.class文件。 (5)利用Java解释器运行这个Java Application程序,并查看运行结果。 D:\test_java>java HelloWorld1 4.Eclipse开发环境的使用 练习使用Eclipse实现第3步中Java HelloWorld程序的方法。

Java程序设计大作业实验报告

目录 一、前言 (2) 二、需求分析 (3) 三、系统总体设计 (3) 3.1系统总体设计系统思路 (3) 3.2数据库设计 (4) 3.2.1 login1表的设计和数据 (4) 3.2.2 student表的设计和数据 (5) 3.2.3 course表的设计和数据 (5) 3.2.4 score表的设计和数据 (6) 3.3系统功能模块设计 (6) 四、系统详细设计 (7) 4.1登录模块 (7) 4.2 学生模块 (7) 4.3 教师模块 (8) 4.4 管理员模块 (8) 五、系统测试及运行结果 (9) 5.1 主界面 (9) 5.2 学生管理中心界面 (9) 5.3 教师管理中心界面 (10) 5.4 管理员管理中心界面 (10) 5.5 查询课表界面 (11) 5.6 查询成绩界面 (11) 5.7 查询教学情况界面 (11) 5.8 查询所有学生成绩界面 (12) 5.9 学生信息管理界面 (12) 5.10 学生成绩管理界面 (13) 5.11 用户管理界面 (13) 六、实验总结 (14) 七、参考文献 (14)

一、前言 随着计算机在人们生活中的普及和网络时代的来临,对信息的要求日益增加,学生信息管理业务受到了较为强烈的冲击,传统的手工管理方式传统的手工管理方式已不能适应现在的信息化社会。如何利用现有的先进计算机技术来解决学生信息管理成为当下的一个重要问题,学生信息管理系统是典型的信息管理系统,其开发主要就是针对前台的页面展示以及后台数据的管理。对于前者,要求应用程序功能完备,易于使用,界面简单;而对于后者,则要求数据库具有一致性、完整性,并能够依据前台的操作来对应操作后台数据库达到一定的安全性。 本学生信息管理系统主要采用的纯JAVA代码实现图形界面系统的开发,以及数据库知识进行数据的查询,删除,插入和更新。本系统主要分为三个部分:学生模块、教师模块、管理员模块。其中学生模块实现的功能:查询课表信息和查询成绩。教师模块实现的功能:查询课表信息、查询教学情况和查询所有学生的各科成绩。管理员模块实现的功能:课表信息的管理、学生信息管理、学生成绩管理和用户信息管理。

Java程序的设计实验报告

信息科学与工程学院 课程设计 题目:图书管理系统 姓名:晓雨颖 学号: 201312140115 201312140120 班级: 13级本科四班物联网 课程: Java程序设计 任课教师梦琳 2014年12月20日

课程设计任务书及成绩评定

目录 1前言 (3) 1.1设计目的 (4) 1.2设计任务 (4) 1.3运行环境 (4) 2总体设计 (5) 2.1设计原理............................................. 错误!未定义书签。3详细设计实现.. (5) 3.1 代码 (5) 3.2 登陆后事件处理 (12) 4心得体会................................................ 错误!未定义书签。

1前言 Java的前身是Oak,它一开始只是被应用于消费性电子产品中。后来它的开发者们发现它还可以被用于更大围的Internet上。1995年,Java语言的名字从Oak编程了Java。1997年J2SE1.1发布。1998年J2SE1.2发布,标志Java2的诞生。十多年来,Java编程语言及平台成功地运用在网络计算及移动等各个领域。Java的体系结构由Java语言、Java class、Java API、Java虚拟机组成。它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。Java支持多线程编程,Java运行时系统在多线程同步方面具有成熟的解决方案。Java的平台标准有Java ME,Java SE和Java EE。Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。目前在众多的支持Java的开发工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。其中Java Development Kit 简称JDK是大多开发工具的基础。以上的每种开发工具都有优缺点,对于开发者来说,重要的是要根据自己的开发规模、开发容和软硬件环境等因素来选择一种合适的开发 工具。

java实验报告1(程序设计基础)

2012—2013学年第 1 学期 合肥学院数理系 实验报告 课程名称:《面向对象程序设计》 实验项目:程序设计基础 实验类别:综合性□设计性□验证性√ 专业班级:10信息与计算科学班 姓名:学号: 实验地点:校内机房 实验时间:2012.10.22 —2012.10.28 指导教师:钱泽强成绩:

一、实验目的 熟悉Java的编程环境;通过编程掌握Java程序的调试;提高学生的分析问题、解决问题的能力;理解Java语言的基本结构和程序设计方法。 二、实验内容 1、安装并配置JDK,使用Eclipse创建Java程序,并调试运行; 2、了解 Java Application应用程序和Java Applet程序; 3、通过编程掌握Java的基本,并提高分析问题和解决问题的能力。 三、实验方案(程序设计说明) [题目1] 安装Eclipse并配置JDK。 [题目2] 使用Eclipse创建Application程序,并调试运行。 public class test1 { public static void main(String []args) { System.out.println("hello"); } } [题目3] 在Eclipse中创建Applet程序并调试运行。 import java.awt.*; import java.applet.*; public class test2 extends Applet { public void paint(Graphics g) { g.drawString("hello",20,20);} } [题目4] 掌握输入和输出,编写程序求任意两个实型数据的和。 [题目5] 掌握数组的使用,编写程序求一组整型数据的最大值。 四、实验程序和运行结果 请附页记录正确的源程序 五、实验总结 六、教师评语及成绩

Java程序设计慕课版实验一

一、实验目的 (1)熟系编写Java程序的开发工具—Eclipse (2)掌握Java基础语法 二、实验内容、步骤方法、结果 1、使用Eclipse开发Java程序 package com.hello; public class HelloWorld { public static void main(String[] args) { System.out.println("你好,Java"); } } 2、输出字符串 package com.CharPtint; public class CharPrint { public static void main(String[] args) { char c1,c2; char c3; char c4; c1='A'; c2=' '; c3=66; c4='#'; System.out.println(c1); System.out.println(c2); System.out.println(c3); System.out.println(c4);

} } 3、截取字符串 package com.CharPtint; public class SubStr { public static void main(String[] args) { String str="abc123def"; System.out.println(str.substring(3,7)); System.out.println(str.substring(7)); System.out.println(str.charAt(0)); System.out.println(str.charAt(8)); } }

Java程序设计基础实验报告

Java程序设计基础实验报告50—53 实验50 FileInputStream类的应用 实验目的: 1.学习FileInputStream类的语法格式 2.学习FileInputStream类的使用 实验要求 编写一个Java程序,在main()中生成FileInputStream的一个实例,使它能打开文件myfile.txt,并能够把文件内容显示在屏幕上。 程序运行效果:如图所示 程序模板:package https://www.doczj.com/doc/442135073.html,.tt; import java.io.*; class ShowFile { public static void main(String[] args) throws IOException{ // TODO Auto-generated method stub int i; FileInputStream fin; fin=new FileInputStream("d:\\myfile.txt"); do{ i=fin.read(); if(i!=-1) System.out.print((char)i); }while(i!=-1); fin.close(); } }

实验51 FileOutputStream类的应用 实验目的: 3.学习FileOutputStream类的语法格式 4.学习FileOutputStream类的使用 实验要求:编写一个Java程序,把文件myfile.txt复制到youfile.txt文件中。 程序运行效果:如图所示 程序模板:package https://www.doczj.com/doc/442135073.html,.tt; import java.io.*; class CopyFile { public static void main(String[] args) throws IOException{ // TODO Auto-generated method stub int i; FileInputStream fin; FileOutputStream fout; fin=new FileInputStream("d:\\myfile.txt"); fout=new FileOutputStream("d:\\yourfile.txt"); do{ i=fin.read(); if(i!=-1) fout.write(i); }while(i!=-1); fin.close(); fout.close(); System.out.print("myfile.txt内容已经被复制到yourfile.txt文件中"); } }

《java程序设计》实验指导书(完整)

实验一 Java实验环境的建立一、实验目的 1.掌握Java编程环境的搭建过程; 2.掌握Jcreator pro软件的使用方法; 3.能使用Java doc文档。 二、实验内容 1.下载并安装JDK1.6,配置JDK环境变量; 2.下载Javadoc压缩包并解压在JDK安装路径下; 3.下载Jcreator pro 4.0并安装和配置使用环境; 4.使用实验环境运行书中实例代码,在屏幕上输出“Hello Java”字符串。 ①Java application程序代码如下: public class HelloJava { public static void main(String args[]) { System.out.println("Hello Java!"); } } ②Java applet程序代码如下: import java.awt.*; public class Hello extends java.applet.Applet { public void paint(Graphics g) { g.drawString("Hello!",30,30); } } 三、试验要求 1、预习试验内容并写出上机报告。 2、实验中出现的问题及实验体会。 实验二 Java语言程序设计训练

一、实验目的: 1.输入、输出操作实现原理和方法 2.掌握程序流程控制的实现方法 3.掌握数组的定义和操作方法 二、实验内容 1.计算 Result=1!+2!+3!+ (10) public class TestJieC{ public static void main(String arg[]){ long result=1; for(int i=1;i<=10;i++) { result=i*result; result+=result; } System.out.println(" "+result); } } 2.计算1---50之间所有素数的和。 public class Test{ public static void main(String args[]){ int count = 0; for(int i = 2;i<=50;i++){ for(int j = 2;j<=i;j++){ if(i>j){ if(i%j == 0){ count++; } } } if(count==0){ System.out.println(i); }

《JAVA程序设计基础》实验报告2

河南工业大学 《JAVA程序设计基础》实验报告2 实验单元二Java基本语法 实验二数据类型与表达式 实验时间: 2019/3/8 【实验目的】 1.掌握Java语言数据类型以及变量的声明。 2.掌握Java语言的赋值运算符、赋值表达式、赋值语句。 3.掌握Java语言的整型和字符型的混合运算。 4.掌握Java语言的输入格式。 【实验环境】 JDK、Eclipse 【实验内容】 1.编写程序,获取用户通过键盘输入的两个整数,计算它们的和,并输出。 2.编写程序,计算如下表达式的值 a)ax+b(a,b,x的值自己指定) b)a+b>a+c(a,b,c的值自己指定) c)28>20&&30>24||58<12 3.编写程序,要求从键盘输入3个整数,并打印它们的和、平均值、最小值

和最大值。 4.编写程序,要求读入一个园的半径(整数),并输出园的直径、周长和面积。π的值去3.14159。 【实验源码及结果】 1.编写程序,获取用户通过键盘输入的两个整数,计算它们的和,并输出。 打开eclipse创建包并创建一个class 代码: package beautiful; import java.util.Scanner; public class Java1 { p ublic static void main(String[] args) { // TODO Auto-generated method stub System.out.println("可输入两个整数,求和."); S canner bs=new Scanner(System.in); i nt x=0,y=0,sum=0; S ystem.out.print("请输入第一个整数:"); x=bs.nextInt(); S ystem.out.print("请输入第二个整数:"); y=bs.nextInt(); s um=x+y; S ystem.out.println("两个整数之和:"+x+"+"+y+"="+sum);

Java程序设计实验报告

Java程序设计实验报告 班级:10060641X 学号:34 姓名:李树明 实验题目:猜拳小游戏 实验要求: 用java编写一个人机对战的猜拳小游戏。人选择性出拳,电脑随机出拳,判断输赢,记录输赢情况。有简单的操作界面。 实验内容: 1、问题分析过程: 游戏名称:悟空猜拳 游戏类型:益智类 平台:java 编程语言:java 操作:鼠标 游戏规则:游戏为单人模式,玩家控制己方出拳,对方为电脑随机出拳,有3种胜出模式(三局两胜制、五局三胜制和七局四胜制),双方只要先胜出2、3、4局游戏结束程序框架设计:Menu类,Game类,Npc类,Player类 游戏界面设计: 登录界面: 游戏主界面

胜利界面 2、主要实现代码: Menu类: package Game_guessFist; import java.awt.Color; import java.awt.FlowLayout; import java.awt.Font; import https://www.doczj.com/doc/442135073.html,bel; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; public class Menu extends JFrame implements ActionListener{ JMenuBar menuBar; JMenu setting; JMenuItem item1,item2,item3;

《JAVA程序设计基础》实验指导书

JAVA程序设计基础 教育技术系肖凡

实验一 JDK的安装与配置及简单JAVA程序设计 ⒈实验目的 ⑴掌握JDK的安装与配置方法; ⑵会使用UltraEdit编写简单的JA V A程序,并会使用javac、java命令编译、运行。⒉实验环境 ⑴计算机一台; ⑵JDK安装文件一套。 ⒊实验任务 ⑴在Windows平台下安装与配置JDK; ⑵使用UltraEdit编写简单的JAVA程序。 ⒋实验步骤 一、JDK的安装: (1)双击jdk安装文件图标,开始安装; 图1.1 JDK安装文件 (2)可能会出现安全警告。因这是安全软件,所以点击“运行”,如图1.2所示: 图1.2 安全警告 (3)接着弹出“准备安装向导”对话框(如图1.3所示),但此对话框很可能会一闪而过。接着弹出“欢迎使用安装向导对话框”(如图1.4所示)。点击“下一步”;

图1.3 准备安装向导 图1.4 欢迎使用安装向导 (4)接着弹出“自定义安装”对话框。它首先要求从列表中选择要安装的可选功能。这个我们选默认值,即不做任何更改。同时也要求选择安装的目标路径。默认在C盘,不建议安装在C盘。点击“更改”选择自己的安装目标路径。如图1.5所示:

图1.5 自定义安装 (5)接着弹出的对话框(如图1.6所示)显示默认的安装路径,我们可以根据自己的需要更改安装路径,然后点击“确定”,如图1.7所示: 图1.6 默认安装路径

图1.7 自己指定的安装路径 (6)返回到“自定义安装”对话框,我们此时已做好了自己的选择,因此点击“下一步”以继续安装,如图1.8所示: 图1.8 完成自定义 (7)接着弹出的对话框显示安装进度,我们无需干预,如图1.9所示:

《Java程序设计》课程实验指导书(2013)

《Java语言基础》课程实验指导书合肥学院计算机科学与技术系

实验一 Java开发环境的配置 一、实验目的: 1.熟悉JDK的安装和环境变量path,classpath的配置; 2.熟悉Editplus(UltraEdi或TextPad)编辑工具; 3.认识Application和Applet程序结构; 二、实验内容: 1.JDK的安装和配置环境变量path,classpath; 2.熟悉安装使用Editplus(UltraEdi或TextPad)编辑工具 3.安装和使用Java集成开发工具(如MyEclipse)*; 4.编译调试Application和Applet程序; 三、实验要求: 1.程序能输出一条简单的问候信息; 2.实验报告中对程序结构做出详细的解释; 3.实验报告中给出配置JDK的步骤; 4.写出实验报告中要求记录编译和执行Java程序当中的系统错误信息提 示,并给出解决办法; 四、实验步骤: 1.从https://www.doczj.com/doc/442135073.html,上下载最新版本的JDK,并安装; 2.设置环境变量path ,classpath, 使得Java程序能正确编译和执行; 3.在Editplus(或UltraEdit)环境下编写一个Application程序; (1)在主方法static public void main(String[] args)中调用System. out.println()方法,使程序输出一条问候信息; (2) 编译运行程序,观察运行情况和输出结果。(使用JDK环境,调用 javac.exe和java.exe编译和执行程序) 4. 在Editplus(或UltraEdit)环境下编写一个Applet程序; (1)在public void paint(Graphics g)方法中调用g.drawString()方法, 使程序输出一条问候信息; (2) 编译运行程序,观察运行情况和输出结果。(使用JDK环境,调用 javac.exe编译和浏览器解释执行Applet程序)

Java程序设计实验题目

1.Java程序设计基础 实训项目一:Java开发环境安装与使用(2学时) 实训内容: (1)下载并安装JDK; (2)安装Java集成开发环境JCreator; (3)第1个java程序“Hello World”程序的编辑、编译与运行。 实训要求: 掌握Java开发环境的安装与配置,了解JCreator中ConfigureàoptionsàJDK Profiles的设置;掌握Java应用程序的编写、编译、运行过程。 实训项目二:Java基础应用(2学时) 实训内容: 编写简单的Java程序,将多种类型变量通过各种运算符组成不同的表达式,并将运算结果赋值给同类型的变量,使用print方法输出各变量的值。 实训要求: 掌握Java语言的各种数据类型;熟悉运算符和表达式的用法;学会编写完成一定目标的简单程序。 实训项目三:Java流程控制(2学时) 实训内容: (1)使用分支语句编写简单的Java程序,完成对某个实际问题的判断处理。 (2)使用循环语句编写简单的Java程序,解决需要重复处理的实际问题。 实训要求: 掌握条件语句的使用;掌握循环语句的使用;锻炼运用所学的知识解决实际问题的能力;了解常用的累加和、数学函数图形打印等基本问题的解决方法。 实训项目四:数组(2学时) 实训内容: (1)编写简单的Java程序,验证数组的声明、创建和使用。 (2)编写简单的Java程序,使用数组解决排序、查找等问题。 实训要求: 掌握一维数组、多维数组声明、创建和使用;掌握利用一维数组解决实际问题的方法;了解多维数组的应用。 2.类和对象、包、接口 实训项目五:类与对象的基本操作(2学时) 实训内容: 按照面向对象编程思想编写简单的类,对客观事物进行描述,类的定义包含成员变量声明及成员方法声明与实现,并创建对象进行类的测试。 实训要求: 掌握面向对象编程的思想;掌握类的定义、变量声明、方法声明及实现;掌握对象的创建。实训项目六:构造方法与方法重载(2学时) 实训内容: 编写含有构造方法与成员方法类,实现构造方法与成员方法的重载,编写该类的测试类。实训要求: 掌握构造方法的定义;理解构造方法的原理;掌握方法重载的实现;理解静态多态的概念。实训项目七:类的继承与多态(2学时) 实训内容:

java程序设计基础(第3版)实验指导答案 第四章

实验16 public class shiyan16 { public static void main(String[] args) { int i; int []a; a=new int[10]; for(i=0;i<=a.length-1;i++) System.out.print("a["+i+"]="+a[i]+" "); System.out.print("\n"); for(i=a.length-1;i>=0;i--) { a[i]=i; System.out.print("a["+i+"]="+a[i]+" "); } } } //定义一个长度为10的整形数组,输出元素的内容,再对数组元素进行赋值 实验17 import java.util.*; public class shiyan17 { public static void main(String[] args) { int i,max,min; int []a=new int[5]; Scanner reader=new Scanner(System.in); System.out.println("从键盘输入5个整数"); for(i=0;i<5;i++) a[i]=reader.nextInt(); max=a[0]; min=a[0]; for(i=1;i<5;i++) { if(a[i]>max) max=a[i]; if(a[i]

《Java程序设计》上机实验报告 实验四 异常类的定义及处理

信息科学与工程学院《Java程序设计》上机实验报告 专业班级姓名学号 实验时间指导教师成绩 实验名称实验四异常类的定义及处理 实验目的1)了解异常处理方法。 2)熟悉并掌握常见异常的捕获方法。 3)熟悉JDK中已经定义的若干异常类的层次结构。 4)掌握自定义异常类的创建方法。 主要实验记录及个人小结 (包括部分实验源程序、调试结果及实验结果分析等)1.编写程序实现如下功能:生成并捕获到NegativeArraySizeException和IndexOutOfBoundsException类型的异常,并显示捕获到的异常信息。然后在此基础上生成并捕获到NullPointerException类型的异常,并显示捕获到的异常信息。 1)实验源程序: public class TestException { public static void main(String[] args){ outofBound(); arraySize(); nullPointer(); } static void arraySize(){ try{int p=-5; int test1[]=new int[p]; //不一定要是-5,只要小于0的就能捕获到无效数组长度的异常} } catch (NegativeArraySizeException e) { System.out.println("捕获异常:\n"+e); System.out.println(e.toString()); //把捕获的错误异常转变为字符串类型,传给println()方法,用以输入。 }finally{ System.out.println("捕获完成\n"); } } static void outofBound(){ try {int test2[]=new int[10]; test2[100]=1; //超出数组长度 } catch (ArrayIndexOutOfBoundsException e) { System.out.println("捕获异常:\n"+e); System.out.println(e.toString()); } finally{ System.out.println("捕获完成\n\n"); } } static void nullPointer(){ try {int test3[]=null; test3[1]=100; //空指针无法赋值 } catch (NullPointerException e) {

相关主题
文本预览
相关文档 最新文档