当前位置:文档之家› JAVA实验_题目8

JAVA实验_题目8

JAVA实验_题目8
JAVA实验_题目8

第八章类和对象的扩展

【实验目的】

(1) 类的继承

a. 掌握父类及子类的关系及创建方法

b. 掌握上转型对象的使用方法

c. 掌握子类对象创建过程中与父类构造方法的关系,及super关键字的用法

(2) 多态与接口

a. 掌握抽象类与抽象方法的概念

b. 掌握多态的实现原理及方法

c. 了解成员变量的隐藏

d. 掌握接口的设计方法

【实验范例】

例1:(继承)

(1)编写一个圆类Circle,该类拥有:

①一个成员变量

Radius(私有,浮点型);// 存放圆的半径;

②两个构造方法

Circle( ) // 将半径设为0

Circle(double r )//创建Circle对象时将半径初始化为r

③三个成员方法double getArea( ) //获取圆的面积

double getPerimeter( ) //获取圆的周长

void show( ) //将圆的半径、周长、面积输出到屏幕

(2)编写一个圆柱体类Cylinder,它继承于上面的Circle类。还拥有:

①一个成员变量

double hight(私有,浮点型);// 圆柱体的高;

②构造方法

Cylinder (double r, double h ) //创建Circle对象时将半径初始化为r

③成员方法

double getVolume( ) //获取圆柱体的体积

void showVolume( ) //将圆柱体的体积输出到屏幕

编写应用程序,创建类的对象,分别设置圆的半径、圆柱体的高,计算并分别显示圆半径、圆面积、圆周长,圆柱体的体积。

程序代码:

class Circle { // 定义父类--园类

private double radius; // 成员变量--园半径

Circle() { // 构造方法

radius = 0.0;

}

Circle(double r) { // 构造方法

radius = r;

}

double getPerimeter() { // 成员方法--求园周长

return 2 * Math.PI * radius;

}

double getArea() { // 成员方法--求园面积

return Math.PI * radius * radius;

}

void disp() { // 成员方法--显示园半径、周长、面积

System.out.println("圆半径=" + radius);

System.out.println("圆周长=" + getPerimeter());

System.out.println("圆面积=" + getArea());

}

}

class Cylinder extends Circle { // 定义子类--圆柱类

private double hight; // 成员变量--园柱高

Cylinder(double r, double h) { // 构造方法

super(r);

hight = h;

}

public double getVol() { // 成员方法--求园柱体积

return getArea() * hight;

}

public void dispVol() { // 成员方法--显示园柱体积

System.out.println("圆柱体积=" + getVol());

}

}

public class Prog1 { // 定义主类

public static void main(String[] args) { // 主程入口

Circle Ci = new Circle(10.0); // 生成园类实例

Ci.disp(); // 调用园类的方法

Cylinder Cyl = new Cylinder(5.0, 10.0); // 生成圆柱类实例

Cyl.disp(); // 调用父类方法

Cyl.dispVol(); // 调用子类方法

}

}

例2:(重载)

设计一个汽车类Multiplication,在其中定义三个同名的mul方法:第一个方法是计算两个整数的积;第二个方法是计算两个浮点数的积;第三个方法是计算三个浮点数的积。

程序代码:

class Multiplication {

public void mul(int a, int b) {

int m = a * b;

System.out.println(a + "*" + b + "=" + m);

}

public void mul(double a, double b) {

float m = (float) (a * b);

System.out.println(a + "*" + b + "=" + m);

}

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

double m = a * b * c;

System.out.println(a + "*" + b + "*" + c + "=" + m);

}

}

public class Prog1 {

public static void main(String[] args) {

Multiplication test = new Multiplication();

test.mul(3, 4);

test.mul(2.3, 3);

test.mul(3, 4, 5);

}

}

例3:(接口与多态)

(1) 定义一个接口CanFly,描述会飞的方法public void fly();

(2) 分别定义类飞机和鸟,实现CanFly接口。

(3) 定义一个测试类,测试飞机和鸟。测试类中定义一个makeFly()方法,让会飞的事物飞起来。

(4) 然后在main方法中创建飞机对象和鸟对象,并在main方法中调用makeFly()方法,让飞机和鸟起飞。

程序代码:

interface CanFly {

public void fly();

}

class AirPlane implements CanFly {

public void fly() {

System.out.println("airplane is flying");

}

}

class Bird implements CanFly {

public void fly() {

System.out.println("Bird is flying");

}

}

class Prog1 {

static void makeFly(CanFly obj) {

obj.fly();

}

public static void main(String[] args) {

AirPlane ap = new AirPlane();

Bird b = new Bird();

makeFly(ap);

makeFly(b);

}

}

【综合例子】

例:在第七章综合例子的基础上,编写一个VIP账号的管理

要求:

1、VIPAccount继承Account

2、VIP设置3个等级:

VIP0:一般账户,不能透支

VIP1:透支上限3000元

VIP2:透支上限10000元

1、根据透支情况,重写withdraw()方法(重写)

2、两个构造函数,一个与父类Account构造函数的参数相同,另外一个参数增加设置对象

的VIP等级(重载)

实现简单的循环菜单显示,并实现存|取款、修改密码、显示账户余额等功能

(实现的功能和第七章的综合例子相同)

import java.util.Scanner;

class Account {

int custID;

String custName;

int custPWD;

double custMoney;

Account(int id, String name, int PWD, double money) {

custID = id;

custName = name;

custPWD = PWD;

custMoney = money;

}

void displayAccout() {

System.out.println("账号:" + custID);

System.out.println("户名:" + custName);

System.out.println("余额:" + custMoney);

}

boolean deposit(double money){

custMoney += money;

return true;

}

boolean withdraw(double money){

if (custMoney

return false;

}else{

custMoney -= money;

return true;

}

}

void changePWD(int PWD){

custPWD = PWD;

}

}

class VIPAccount extends Account{

int VIPLevel; //VIP特权,透支金额分3个等级为VIP0:一般客户,不能透支,VIP1:3000,VIP2:10000

VIPAccount (int id, String name, int PWD, double money) { //构造函数重载super(id,name,PWD,money);

}

VIPAccount (int id, String name, int PWD, double money, int level) { //构造函数重载

super(id,name,PWD,money);

VIPLevel = level;

}

void setVIPLevel(int level) {

VIPLevel = level;

}

boolean withdraw(double money) { //函数重写

double remain = custMoney - money;

switch (VIPLevel)

{

case 0:

if (remain < 0) {

System.out.println("您不是VIP客户,不能透支!您目前的余额为:" + custMoney);

return false;

} else {

custMoney -= money;

System.out.println("取款成功,您目前的余额为:" + custMoney);

return true;

}

case 1:

if (remain < -3000) {

System.out.println("您的VIP等级为1,透支额度不能抽过3000元,您目前的余额为:" + custMoney);

return false;

} else {

custMoney -= money;

System.out.println("取款成功,您目前的余额为:" + custMoney);

return true;

}

case 2:

if (remain < -10000) {

System.out.println("您的VIP等级为2,透支额度不能抽过10000元,您目前的余额为:" + custMoney);

return false;

} else {

custMoney -= money;

System.out.println("取款成功,您目前的余额为:" + custMoney);

return true;

}

}

return true;

}

}

public class CustDemo {

public static void main(String args[]) {

VIPAccount cust[] = new VIPAccount[4];

cust[0] = new VIPAccount(1001, "Tom", 111, 400.0f, 0);

cust[1] = new VIPAccount(1002, "Mike", 222, 500.0f, 1);

cust[2] = new VIPAccount(1003, "Bob", 333, 600.0f, 2);

cust[3] = new VIPAccount(1004, "Cindy", 444, 100.0f, 1);

int ind = 0;

double money;

System.out.println("请输入账号:");

Scanner sc = new Scanner(System.in);

long id = sc.nextLong();

for (int i=0; i<4; i++)

{

if (cust[i].custID == id) ind=i;

}

while (true) {

System.out.println("\n1.存款");

System.out.println("2.取款");

System.out.println("3.修改密码");

System.out.println("4.查询");

System.out.println("5.退出");

sc = new Scanner(System.in);

switch(sc.nextInt()) {

case 1:

System.out.println("请输入存款金额:");

money = sc.nextDouble();

cust[ind].deposit(money);

cust[ind].displayAccout();

break;

case 2:

System.out.println("请输入取款金额:");

money = sc.nextDouble();

if (cust[ind].withdraw(money))

cust[ind].displayAccout();

else

System.out.println("您的账号余额不足!");

break;

case 3:

System.out.println("请输入新密码:");

cust[ind].custPWD = sc.nextInt();

break;

case 4:

cust[ind].displayAccout();

break;

case 5:

System.out.println("欢迎使用xxx银行系统!");

System.exit(1);

}

}

}

}

【练习题目】

8-1 (继承与多态)有哺乳动物类mammal,将其作为父类,从其派生出子类猫cat和子类狗dog,基类中有方法speak()。

8-2 (重载)编写一个Java应用程序,从键盘读取用户输入两个字符串,并重载3个strAdd 函数分别实现这两个字符串的拼接、整数相加和浮点数相加。要进行异常处理,对输入的不符合要求的字符串提示给用户,不能使程序崩溃。(异常处理)

8-3 (接口)

1.利用接口继承完成对生物、动物、人三个接口的定义。其中生物接口定义呼吸抽象方法;

2.动物接口除具备生物接口特征之外,还定义了吃饭和睡觉两个抽象方法;

3.人接口除具备动物接口特征外,还定义了思维和学习两个抽象方法。

4.定义一个学生类实现上述人接口。

8-4 (继承、接口)

实现一个名为Person的类和它的子类Employee,Manager是Employee的子类,设计一个接口Wage,用于涨工资,普通员工一次能涨10%,经理能涨20%。

具体要求如下:

(1)接口Wage包含addWage方法,创建类WageImpl用于实现接口Wage

(2)Person类中的属性有:姓名name(String类型),地址address(String类型),定义该类的构造方法;

(3)Employee类中的属性有:工号ID(String型),工资wage(double类型),工龄(int 型),定义该类的构造方法;

(4)Manager类中的属性有:级别level(String类型)定义该类的构造方法;

(5)编写一个测试类,产生一个员工和一个经理给该员工和经理涨工资,并输出其具有的信息。

(提示:对象类型判断用instanceof)

【综合练习】

仿照综合例子,在第七章综合例子的基础上改进。

要求:

1、增加VIP卡类,它继承于FuelCard

a)VIP卡有折扣等级(设置属性成员折扣等级:level);(0级无折扣,1级98折,2

级95折)

b)根据需要,重写VIP卡的加油的方法(重写);

c)仿照综合例子,增加另一个构造函数(重载),包含对level属性值的构造

2、建立

3

4、实现简单的循环菜单显示,并实现存|充值、加油、显示卡信息、修改密码、更改车牌等功能。

8-实验八Java多线程操作(实验报告内容)

实验八 Java多线程操作 (实验报告) 一、目的 1.掌握Java多线程操作。 二、实验内容 启动线程,线程休眠,线程同步,等待和唤醒 三、实验环境 JDK1.6+dos环境 四、实验原理 通过案例掌握多线程操作。 五、实验步骤 1、设计一个线程操作类,要求可以产生三个线程对象,并可以分 别设置三个线程的休眠时间,如下所示: 线程A,休眠10秒 线程B,休眠20秒 线程C,休眠30秒 2、生产者与消费者问题,生产者生产一台电脑,消费者马上将生 产出的电脑取走。 六、实验小结 1、class MyThread implements Runnable{

String name; int time; public MyThread(String name,int time){ https://www.doczj.com/doc/d910924422.html,=name; this.time=time; } public void run(){ try{ Thread.sleep(this.time); } catch(Exception e){ } System.out.println(https://www.doczj.com/doc/d910924422.html,+"线程,休眠"+this.time/1000+"秒"); } } public class Demo08{ public static void main(String args[]){ MyThread mt1=new MyThread("线程A",10000); MyThread mt2=new MyThread("线程B",20000); MyThread mt3=new MyThread("线程C",30000);

浙大JAVA 实验题答案05answer1

实验5 分支结构程序的设计 1.程序填空题,不要改变与输入输出有关的语句。 20004 计算旅途时间 输入2个整数time1和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。 有效的时间范围是0000到2359,不需要考虑出发时间晚于到达时间的情况。 例:括号内是说明 输入 712 1411(出发时间是7:12,到达时间是14:11) 输出 The train journey time is 6 hrs 59 mins. import java.util.Scanner; public class Test20004 { public static void main(String[] args) { Scanner in=new Scanner(System.in); int time1, time2, hours, mins; time1=in.nextInt(); time2=in.nextInt(); /*------------------*/ /*计算两个时间之间的小时数和分钟数*/ hours=time2/100-time1/100; mins=time2%100-time1%100; /*当计算得到的分钟数为负数时进行调整*/ hours=mins>0?hours:hours-1; mins=mins>0?mins:mins+60; //或:if(mins<0){hours-=1;mins+=60;} System.out.println("The train journey time is "+hours+" hrs "+ mins+" mins."); } } 30001 显示两级成绩 输入一个正整数repeat (0

实验二 Java类-实验报告

南京信息工程大学实验(实习)报告 实验(实习)名称Java类实验(实习)日期 10.17 得分指导教师刘文杰院计算机与软件学院专业软件工程年级 2017级班次 1 姓名张成学号20171344024 1.实验目的: 1)熟练MyEclipse工具的使用与调试; 2)掌握Java类、方法和变量的定义和使用; 3)熟悉方法重载和覆盖、掌握this和supper关键字使用; 4)掌握4类访问控制符的使用。 2.实验内容: (1)定义一个类Circle,实现其面积计算功能getArea(); (2)编写程序,读入一个正整数并按降序显示它的所有最小因子。(教材第3章习题9)(3)利用多态性编程,实现求三角形、正方形和圆形的面积。(教材第4章习题6) 3.实验步骤 1、 public class Circle { public double radius; public Circle(double r) { radius= r; } public double getArea() { return radius*radius*Math.PI; } public static void main(String[] args) { Circle area1 = new Circle(5); System.out.println("The area is " + area1.getArea()); } }

2、 import java.util.Scanner; public class Read { public static void main(String[] args) { Scanner input =new Scanner(System.in); System.out.print("输入一个正整数:"); int n=input.nextInt(); int []a=new int[n]; int []b=new int[n]; int p,q=0,m=0; for(p=2;p<=n;p++) { while(n%p==0) { n=n/p; if(n!=1) { a[q]=p; q++; } else { a[q]=p; } } } while(q!=-1) { b[m]=a[q]; m++; q--; } for(p=0;p

JAVA实验_题目8

第八章类和对象的扩展 【实验目的】 (1) 类的继承 a. 掌握父类及子类的关系及创建方法 b. 掌握上转型对象的使用方法 c. 掌握子类对象创建过程中与父类构造方法的关系,及super关键字的用法 (2) 多态与接口 a. 掌握抽象类与抽象方法的概念 b. 掌握多态的实现原理及方法 c. 了解成员变量的隐藏 d. 掌握接口的设计方法 【实验范例】 例1:(继承) (1)编写一个圆类Circle,该类拥有: ①一个成员变量 Radius(私有,浮点型);ustID == id) ind=i; } while (true) { "\n1.存款"); "2.取款"); "3.修改密码"); "4.查询"); "5.退出"); sc = new Scanner; switch()) { case 1: "请输入存款金额:"); money = (); cust[ind].deposit(money); cust[ind].displayAccout(); break; case 2: "请输入取款金额:"); money = (); if (cust[ind].withdraw(money)) cust[ind].displayAccout(); else "您的账号余额不足!"); break;

case 3: "请输入新密码:"); cust[ind].custPWD = (); break; case 4: cust[ind].displayAccout(); break; case 5: "欢迎使用xxx银行系统!"); (1); } } } } 【练习题目】 8-1 (继承与多态)有哺乳动物类mammal,将其作为父类,从其派生出子类猫cat和子类狗dog,基类中有方法speak()。 8-2 (重载)编写一个Java应用程序,从键盘读取用户输入两个字符串,并重载3个strAdd函数分别实现这两个字符串的拼接、整数相加和浮点数相加。要进行异常处理,对输入的不符合要求的字符串提示给用户,不能使程序崩溃。(异常处理) 8-3 (接口) 1.利用接口继承完成对生物、动物、人三个接口的定义。其中生物接口定义呼吸抽象方法; 2.动物接口除具备生物接口特征之外,还定义了吃饭和睡觉两个抽象方法; 3.人接口除具备动物接口特征外,还定义了思维和学习两个抽象方法。 4.定义一个学生类实现上述人接口。 8-4 (继承、接口) 实现一个名为Person的类和它的子类Employee,Manager是Employee的子类,设计一个接口Wage,用于涨工资,普通员工一次能涨10%,经理能涨20%。 具体要求如下: (1)接口Wage包含addWage方法,创建类WageImpl用于实现接口Wage (2)Person类中的属性有:姓名name(String类型),地址address(String类型),定义该类的构造方法; (3)Employee类中的属性有:工号ID(String型),工资wage(double类型),工龄(int型),定义该类的构造方法; (4)Manager类中的属性有:级别level(String类型)定义该类的构造方法; (5)编写一个测试类,产生一个员工和一个经理给该员工和经理涨工资,并输出其具有的信息。

java实验报告样本2

实验项目名称:继承和多态 (所属课程:Java语言程序设计) 院系:计算机科学与信息工程专业班级:12级物联网工程姓名:张懿 学号:201203040042 实验地点:A-06 411 指导老师:张阳 本实验项目成绩:教师签字:日期: 1.实验目的 (1)掌握类的继承机制。 (2)熟悉类中成员变量和方法的访问控制。 (3)熟悉方法或构造方法多态性。 2.实验内容 (1)模拟编写程序,理解类的继承、多态、继承和多态规则。 (2)独立编程,实现类的继承和多态。 3.实验作业 设计一个类Shape(图形)包含求面积和周长的area()方法和perimeter()方法以及设置颜色的方法SetColor(),并利用Java多态技术设计其子类Circle (圆形)类、Rectangle(矩形)类和Triangle(三角形)类,并分别实现相应的求面积和求周长的方法。每个类都要覆盖toString方法。 海伦公式:三角形的面积等于s(s-a)(s-b)(s-c)的开方,其中s=(a+b+c)/2 4.实验程序 import java.util.Scanner; public class TEST { public static void main(String[] args) { float radius; float chang,kuan; float a,b,c; Scanner input = new Scanner(System.in);

System.out.print("请输入圆的半径:"); radius = input.nextFloat(); Circle circle = new Circle(radius); System.out.println("圆的面积为:"+circle.area()+" 圆的周长为:"+circle.perimeter()+"\n"+circle.toString()); System.out.print("请输入矩形的长:"); chang = input.nextFloat(); System.out.print("请输入矩形的宽:"); kuan = input.nextFloat(); Rectangle rectangle = new Rectangle(chang,kuan); System.out.println("矩形的面积为:"+rectangle.area()+" 矩形圆的周长为:"+rectangle.perimeter()+"\n"+rectangle.toString()); System.out.print("请输入三角形的第一条边:"); a = input.nextFloat(); System.out.print("请输入三角形的第二条边:");

实验一java基础知识

实验一:java基础知识 实验目的: 1.掌握jave中变量的类型。 2.掌握常用的运算符 3.程序流程控制:顺序,选择和分支 实验内容: 1、回文数: 编写一个Java程序。用户从键盘输入一个1-9999之间的数,程序将判断这个数是几位数,并判断这个数是否回文数。回文数是指该数含有的数字逆序排列后得到的数和原数相同。 实验类别:验证性 2、猜数字游戏 编写一个Java应用程序,实现如下功能: 程序随机分配给客户一个1-100之间的整数 用户在输入对话框中输入自己的猜测 程序返回提示信息,提示信息分别是:“猜大了”、“猜小了”、和“猜对了”用户可以根据提示信息再次输入猜测,直到提示信息是“猜对了” 实验类别:设计性 3、输出希腊字母表 为了输出希腊字母表,首先获取希腊字母表的第一个字母和最后一个字母在unicode表中的位置,然后使用循环输出剩余的希腊字母 要观察一个字符在uniclde表中的顺序位置 实验类别:设计性

实验二类和对象 实验目的: 1.理解类的基本概念。 2.掌握如何定义类,定义类的成员变量和成员方法.创建和使用对象。 3.掌握定义重载方法和构造方法,方法参数的传递。 4. static变量和方法的使用。 实验内容: 1、定义一个名为Rectangle的类表示矩形,其中含有length,width两个double型 的成员变量表示矩形的长和宽。要求为每个变量定义访问方法和修改方法,定义求矩形周长的方法peremeter和求面积的方法area。定义一个带参数构造方法,通过给出的长和宽创建矩形对象。定义默认构造方法,在该方法中调用有参构造方法,将矩形长宽设置为1.0。 实验类别:验证性 2、方法重载: 编写一个Java程序,反映方法重载的使用特点,该程序包含多个重载的加法的运算,如整型加法,实型加法。 实验类别:验证性 3、学生类的创建: 1)创建一个student类,包括的域有学号、班号、姓名、性别、年龄等 2)声明一个构造方法,以初始化对象的所有域 3)声明分别获得各属性(学号、班号、姓名、性别、年龄)的各个public方法。4)声明修改各属性(学号、班号、姓名、性别、年龄)的各个public方法。5)创建一个具体学生对象,进行输出。 实验类别:设计性 4、定义一个类,类中有两个整型变量x和y,并定义构造函数初始化这两个变量。(通过构造函数传数据,数据值自定) 类中还可定义以下方法: 求两个数的和(x+y)并返回结果,求两个数的差(x-y)并返回结果,求两个数商(x/y)并返回结果,求两个数的余数(x%y)并返回结果,求两个数的最大值并返回结果。 编写应用程序,测试上面定义的类,使用类中定义的各个方法并将其结果输出。实验类别:验证性 5、用set()、get()方法传递数据: 本工程共有三个类,Person类、Employee类、和Test类,其中Test类 为测试类,其中有main()方法。 调用的是默认的构造方法,参数为空。 实验类别:设计性

java实验答案解读

实验一 水仙花数: class shuixianhua {//水仙花数 public static void main(String arg[]) { int i,a,a1,b,b1,c; for(i=100;i<1000;i++) { a=i%10; a1=i/10; b=a1%10; b1=a1/10; c=b1%10; if(i==(a*a*a+b*b*b+c*c*c)) System.out.println(i); } } } 输出如下: 153 370 371 407 打印出100以内素数: public class sushu { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int i,j,k=0; for(i=2;i<100;i++){ if(i==2) System.out.println(i); i++; for(j=2;j

k=1; } if(k==1) System.out.println(i); } } 求1!+2!+ (20) public class jiecheng { public static void main(String[] args) { int i,sum=0,k; for(i=1;i<=20;i++) { k=ji(i); sum=k+sum; } System.out.print(sum); } static int ji(int n) { if(n==1) return 1; else return ji(n-1)*n; } } 习题2.6 public class Test{ public static void main(String[] args)//第19题,打出图形.菱形{ int n=3; for(int i=1;i<=n;i++) { for(int k=n-1;k>=i;k--) { System.out.print(" "); } for(int j=1;j<=2*i-1;j++)//打印* {

java实验报告完整版

实验报告 (计算机与信息工程学院实验中心) 学期:2014-2015 课程名称:《Java程序设计实验》 班级:信息1202 姓名:方逸梅 学号:1212100231 指导老师:费玉莲

《Java程序设计》 独立实验教学安排 一、实验的教学方式、安排及实验环境 (一)教学方式 对照本课程的实验教材,实验一至实验十一,由教师提示实验原理、方法、步骤等内容,在教师的指导下,学生独立完成程序设计及调试工作。实验十二的内容由学生自行设计完成。 (二)教学安排 学时数:30课时 学时安排:每次实验3学时,从学期第五周开始,共十次上机实验。 (三)实验环境 实验环境为JDK 1.6。 (四)具体安排 地点:信息大楼实验室。 辅导:每个班次一名辅导老师,原则上由任课老师担任。 登记:实验完成,由辅导老师登记实验纪录。 学生:实验做完,完成实验报告内容,并在学期末上交实验册。 老师:批改实验,成绩与平时成绩一起占期末的30%。 二、实验的具体内容和要求 见实验报告。

浙江工商大学 计算机与信息工程学院实验报告(1)日期:地点:成绩: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 实验目的、实验原理和内容: 一、实验目的:熟悉Java开发环境及简单程序Java设计。 二、实验原理:SDK 的下载与安装,设置环境变量,安装java 虚拟机,使用Eclipse,编译Java 源程序,运行Java 程序。 三、实验内容及要求: 1.下载、安装并设置Java SDK 软件包。 2.熟悉Eclipse编辑软件。 3.掌握运行Java 程序的步骤。 4.分别编写Application和Applet程序,显示字符串”Hello Java!欢迎使用!”。 要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。 程序一 public class hello { public static void main(String[] args) { for(int i=0;i<=4;i++) { System.out.println("Hello java! 欢迎使用!"); } } } 结果示意图1

JAVA第四版实验2实验报告

实验1 1.实验要求: 编写一个Java应用程序,该程序在命令行窗口输出希腊字母表。 2.实验内容: 3.实验分析: (1)将一个double型数据直接赋值给float型变量,程序编译时提示怎样的错误。 可能损失精度。 (2)在应用程序的main()方法中增加语句:float x=0.618,程序能编译通过吗? 不能通过编译,提示可能损失精度。 (3)在应用程序的main()方法中增加语句:byte b=128编译能通过吗?在应用程序的main()方法中增加语句:int z=(byte)128;程序输出变量z的值是多少? 增加byte b=128时编译不能通过,提示可能损失精度。 增加int z=(byte)128时结果如下所示。 实验2 1.实验要求: 编写一个Java应用程序,该程序在命令行窗口输出数组的引用以及元素的值。 2.实验内容:

3.实验分析: (1)在程序的【代码4】之后增加语句”a[3]=200;”,编译是否有错?运行是否有错? (2)在程序的【代码4】之前输出二维数组b的各个一维数组的长度和引用。

(3)在程序的【代码4】之后输出二维数组b的各个一维数组的长度和引用。

实验3 1.实验要求: 编写一个Java应用程序,输出数组a的全部元素,并将数组a的全部或部分元素复制到其他数组中,然后改变其他数组的元素的值,再输出数组a的全部元素。 2.实验内容: 3.实验分析:

(1)在程序的【代码4】之后增加语句:int []tom=Arrays.copyOf(c,6); System.out.println(Arrays.toString(tom)); (2)在程序的最后一个语句之后增加语句:int []jerry=Arrays.copyOf(d,1,8); System.out.println(Arrays.toString(jerry));

《Java面向对象程序设计》实验-实验八(输入输出流)

广西科技大学 计通学院 《Java面向对象程序设计》实验实验八输入输出流 学生姓名:××× 学号:××× 班级:××× 指导老师:××× 专业:计算机科学与技术 提交日期:×××年××月××日 实验报告内容 1.实验目的 掌握字符输入、输出流用法; 掌握使用Scanner类解析文件; 掌握Console流的使用。 2.实验内容 实验教材-第12章实验1、2、3 字符输入输出流;Scanner类与Console类。 要求:完善程序,给出实验结果截图; 完成试验后练习。 3.程序代码及运行结果: 实验1 举重成绩单 //AnalysisResult、java import java、io、*; import java、util、*;

public class AnalysisResult { public static void main(String[] args) { File("score、txt"); File("scoreAnalysis、txt"); try{ Writer out=new (fWrite); BufferedWriter bufferWrite=new BufferedWriter(out); Reader in=new (fRead); BufferedReader bufferRead=new BufferedReader(in); String str=null; while((str=bufferRead、 readLine())!=null){ double totalScore=Fenxi、getTotalScore(str); str=str+"总成绩:"+totalScore; System、out、println(str); bufferWrite、write(str); bufferWrite、newLine(); } bufferRead、close(); bufferWrite、close(); } catch(IOException e){ System、out、println(e、toString()); } } } //Fenxi、java import java、util、*;

JAVA实验6答案

广东海洋大学学生实验报告书(学生用表) 实验名称实验六. Java的接口与实现课程名称Java程序设计与开发 技术 课程号16232204 学院(系) 信息学院专业计算机科学与技术班级计科 学生姓名学号实验地点钟海楼 04019 实验日期 2015年 10月26日 一、实验目的 (1)学习掌握Java中类怎样实现接口、接口回调技术; (2)学习掌握Java 程序中面向接口的编程思想。 二、实验任务 完成实验六指导上实验1、实验2、实验3的实验任务。 三、实验仪器设备和材料 安装有J2SE开发工具的PC机。 四、实验内容和步骤 实验1 代码如下: Estimator.java interface CompurerAverage{ public double average(double x[]); } class Gymnastics implements CompurerAverage{ public double average(double x[]){ int count=x.length; double aver=0,temp=0; for(int i=0;i

for(int i=1;i2) aver=aver/(count-2); else aver=0; return aver; } } class School implements CompurerAverage{ public double average(double[] x){ int count=x.length; double sum=0; for(int i=0;i

JAVA实验报告一

Java语言程序设计实验报告一 班级:姓名:学号: 一、实验教学目的与基本要求 Java程序设计的实验是Java程序设计课程重要的实践教学环节。实验的目的不仅仅是验证理论知识,更重要的是通过上机加强学生的动手能力,掌握常用Java开发环境的使用方法,培养学生分析问题、解决问题、应用知识的能力和创新精神。充分放手让学生自行设计、自主调试,真正培养学生的实践动手能力,全面提高学生的综合素质。 本课程是一门程序设计语言课程,通过本课程的学习,学生能够掌握Java 语言程序的基本特点、基本编程方法和基本开发技巧,培养学生阅读、分析、设计和调试Java语言的能力,并具备一定的面向对象程序设计思想。 本课程的主要任务是在已学习的编程语言基础上,讲述Java语言的数据结构和语法规则;基本控制结构和编程技巧;Java语言面向对象的特点、编程方法和程序设计思路;Java语言的GUI程序和文件及I/O流的编程方法;能够正确配置Java开发环境,并使用相关的编辑、编译、调试、运行命令。 (1)掌握Java语言的编程技巧,能够独立进行面向对象的开发能力。 (2)具有根据编程需求独立查询Java类库文档及相关资料,完成系统的能力。 (3)具有分析、寻找和排除程序中常见问题的能力。

二、实验内容与收获 (1)Java的安装与配置。熟悉语言环境及简单程序设计的使用练习,正确配置Java 开发环境(Eclipse 集成开发环境的安装、配置与使用) a)安装JDK Sun公司为所有的Java程序员提供了一套免费的Java开发和运行环境。 可以通过IE或Netscape浏览器浏览网址:https://www.doczj.com/doc/d910924422.html,/j2se,根据提示可以下载支持Microsoft Windows操作系统的jdk-1_5_0-windows-i586.exe到本地硬盘。 安装的时候可以选择安装到任意的硬盘驱动器上,例如安装到D:\jdk1.5.0目录下,如图1-2。正确安装后,在JDK目录下有bin、demo、lib、jre等子目录,如图1-3,其中bin目录保存了javac、java、appletviewer等命令文件,demo目录保存了许多java的例子,lib目录保存了Java的类库文件,jre目录保存的是Java的运行时环境(JRE)。 图1-2

Java 实验八

实验八事件处理 学号201617406 姓名刘顺专业网络工程成绩 【实验目的与要求】 1、理解和掌握Java中事件处理模式; 2、理解和掌握Java中事件处理的流程和方法; 3、实验后及时总结、归纳、分析,并完成实验报告。 【实验内容与要求】 设计信息注册窗口,并完成组件的事件处理功能。 编程提示: 1)完成界面设计和实现; 2)单击“确定”按钮后,在“基本信息”文本域中显示选择的信息内 容。 3)给按钮添加事件监听,实现事件处理。 button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { setText() // JTextArea的方法,设置文本域内容 append() // JTextArea的方法,文本域内容追加 getText() // 组件的方法,获取组件内容 isSelected() // JcheckBox的方法,复选框内容被选中 getSelectedItem() //JComboBox()的方法,获取选中项 } 【实验过程与结果】 import java.awt.Color; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; import javax.swing.border.TitledBorder; public class Test8 { public static void main(String[] args) { //FlowLayout flow=new FlowLayout(); JFrame j=new JFrame("新用户注册"); //创建窗体 j.setVisible(true); //窗体可见

浙大JAVA实验题答案answer

实验8 Method的使用 1.程序填空题,不要改变与输入输出有关的语句。 50001 输入一个正整数repeat (0

JAVA实验6答案

GDOU-B-11-112 广东海洋大学学生实验报告书(学生用表) 实验名称 实验六? Java 的接口与实现 课程名称 JaVa 程序设计与开发 课程号16232204 技术 、实验目的 (1) 学习掌握Java 中类怎样实现接口、接口回调技术; (2) 学习掌握Java 程序中面向接口的编程思想。 二、 实验任务 完成实验六指导上实验1、实验2、实验3的实验任务 三、 实验仪器设备和材料 安装有J2SE 开发工具的PC 机。 四、实验内容和步骤 实验1 代码如下: Estimator.java in terface CompurerAverage{ public double average(double x[]); } class Gymn astics impleme nts CompurerAverage{ public double average(double x[]){ int coun t=x .len gth; double aver=0,temp=0; for(int i=0;i2) 学院 (系) 信息学院 专业 学号 计算机科学与技术 班级计科 实验地点 钟海楼 04019 实验日期 2015 年 10月26

aver=aver/(co un t-2); else aver=0; retur n aver; } } class School impleme nts CompurerAverage{ public double average(double[] x){ int coun t=x .len gth; double sum=0; for(int i=0;i

java实验报告完整版

实验报告 (计算机与信息工程学院实验中心) 学期: 2014-2015 课程名称: 《Java程序设计实验》 班级: 信息1202 姓名: 方逸梅 学号: 1212100231 指导老师: 费玉莲 《Java程序设计》 独立实验教学安排 一、实验的教学方式、安排及实验环境 (一)教学方式 对照本课程的实验教材,实验一至实验十一,由教师提示实验原理、方法、步骤等内容,在教师的指导下,学生独立完成程序设计及调试工作。实验十二的内容由学生自行设计完成。 (二)教学安排 学时数:30课时 学时安排:每次实验3学时,从学期第五周开始,共十次上机实验。 (三)实验环境 实验环境为JDK 1、6。

(四)具体安排 地点:信息大楼实验室。 辅导:每个班次一名辅导老师,原则上由任课老师担任。 登记:实验完成,由辅导老师登记实验纪录。 学生:实验做完,完成实验报告内容,并在学期末上交实验册。 老师:批改实验,成绩与平时成绩一起占期末的30%。 二、实验的具体内容与要求 见实验报告。

浙江工商大学 计算机与信息工程学院实验报告(1)日期:地点:成绩: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━实验目的、实验原理与内容: 一、实验目的:熟悉Java开发环境及简单程序Java设计。 二、实验原理:SDK 的下载与安装,设置环境变量,安装java 虚拟机,使用Eclipse,编译Java 源程序,运行Java 程序。 三、实验内容及要求: 1. 下载、安装并设置Java SDK 软件包。 2. 熟悉Eclipse编辑软件。 3.掌握运行Java 程序的步骤。 4.分别编写Application与Applet程序,显示字符串”Hello Java!欢迎使用!”。 要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。 程序一 public class hello { public static void main(String[] args) { for(int i=0;i<=4;i++) { System、out、println("Hello java! 欢迎使用!"); } } } 结果示意图1

java实验报告实验二

实验报告 班级: 学号: 姓名:

实验二标识符、关键字和数据类型 一、实验目的 1.认识标识符、关键字、运算符及数据类型。 2.掌握标识符的书写格式、常见的基本数据类型以及运算符的使用方式。 3.了解强制数据类型转换和弱类型转换。 二、实验原理 Java关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字,还有特别意义的变量。Java的关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名和参数。 Java标识符给变量起上一个名字叫做变量名称,这个自定义的变量名称其实就是一个标识符,其实你自定义的类名称也是一个标识符,也就是说你自定义的名称都是标识符,它可以是类的名称、变量的名称、包的名称、方法的名称等。 1. 标识符可以由字母,数字,下划线(__),美元($)组成,但是不能包含@,%,空格等其他的特殊符号,不能以数字开头。例如 123name 就是不合法的。 2.标识符不能是Java关键字和保留字(Java预留的关键字,或者以后升级版本中有可能作为关键字),但可以包含关键字和保留字~例如:不可以使用void 作为标识符,但是Myvoid 可以。 3.标识符是严格却分大小写的,所以一定要分清alibaba和ALIbaba是两个不同的标识符哦。 4.标识符的命名最好能反应出其作用,做到见名知意。 Java运算符算术运算符、赋值运算符、比较运算符、逻辑运算符、条件运算符。

1.算术运算符:算术运算符主要用于进行基本的算术运算,如加法、减法、乘法、除法等。 2.赋值运算符:赋值运算符是指为变量或常量指定数值的符号。如可以使用“=” 将右边的表达式结果赋给左边的操作数。 3.比较运算符:比较运算符用于判断两个数据的大小,例如:大于、等于、不等于。比较的结果是一个布尔值( true 或 false )。 4.逻辑运算符:逻辑运算符主要用于进行逻辑运算。 5.条件运算符: 条件运算符( ? : )也称为“三元运算符”。 语法形式:布尔表达式?表达式1 :表达式2。 运算过程:如果布尔表达式的值为true ,则返回表达式1 的值,否则返回表达式2 的值。 Java类型转换:基本数据类型中,布尔类型boolean占有一个字节,由于其本身所代码的特殊含义,boolean类型与其他基本类型不能进行类型的转换(既不能进行自动类型的提升,也不能强制类型转换),否则,将编译出错。 1.基本数据类型中数值类型的自动类型提升。 数值类型在内存中直接存储其本身的值,对于不同的数值类型,内存中会分配相应的大小去存储。如:byte类型的变量占用8位,int类型变量占用32位等。相应的,不同的数值类型会有与其存储空间相匹配的取值范围。 2.基本数据类型中的数值类型强制转换

Java实验8

实验8 网络通信程序设计 一、实验目的: 1、理解Java的基于套接字的网络通信原理。 2、理解客户端和服务器的概念。 3、学习使用套接字实现客户端和服务器通信的程序设计方法。 二、实验任务: 编写一个客户端和服务器端通信的应用程序。由客户端向服务器端发送数据,服务器接收数据,并利用它们生成一个结果,再把结果返回给客户端。 三、实验内容: 1、套接字是网络上两个主机之间逻辑连接的端点,用于发送和接收数据。 操作套接字类似于操作输入输出流。 2、一个局域网通常包含一个服务器和多个客户端。客户端向服务器发送请 求,服务器响应请求。客户端和服务器建立连接后,可以通过套接字进行通信。客户端启动时,服务器必须正在运行。 3、服务器端首先要创建一个服务器套接字(serverSocket类),并把它附加到 一个端口上,并通过该端口监听客户端的连接请求。监听请求的方法是accept。 4、客户端也要使用一个套接字(Socket类)与服务器连接,连接时可以使用服 务器的IP地址,也可以使用服务器的主机名称。 5、创建连接后,可以使用套接字的getInputStream方法和getOutputStream 方法获取输入输出流来实现通信。以下是客户端和服务器端利用套接字通信的程序源代码,请各位同学认真阅读,透彻理解使用套接字实现通信的原理。 6、服务器端代码如下:

7、代码中建立连接时使用的字符串”localhost”代表本机。如果和网络上的其 他计算机通信,这里可以用该计算机的IP地址代替。既可以在同一台计算机上实现上面的通信程序,也可以在局域网的不同计算机上实现它。 四、本次实验难点: 对套接字的理解和运用是本次实验的重点和难点。

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