文档库 最新最全的文档下载
当前位置:文档库 › java 实验十

java 实验十

java 实验十
java 实验十

实验10:面向对象编程基础(一)简单的类和对象

实验目的:

1.掌握类的定义,熟悉属性、构造函数、方法的作用,掌握用类作为类型

声明变量和方法返回值;

2.理解类和对象的区别,掌握构造函数的使用,熟悉通过对象名引用实例

的方法和属性;

实验数据记录及分析(或程序及运行结果)

1.写一个名为Rectangle的类表示矩形。其属性包括宽width、高height和

颜色color,width和height都是double型的,而color则是String类型的。

要求该类具有:

(1)使用构造函数完成各属性的初始赋值

(2)使用getter和setter的形式完成属性的访问及修改

(3)提供计算面积的getArea()方法

class Rectangle {

private double height;

private double width;

private String color;

public double getHeight() {

return height;

}

public void setHeight(double height) {

this.height = height;

}

public double getWidth() {

return width;

}

public void setWidth(double width) {

this.width = width;

}

public String getColor() {

return color;

}

public void setColor(String color) {

this.color = color;

}

public Rectangle(double width,double height,String color){ this.setColor(color);

this.setHeight(height);

this.setWidth(width);

}

public void getArea(){

double area=0;

area=this.height*this.width;

System.out.println("矩形的面积为:"+area);

}

public String toString(){

String recStr="矩形的宽度:"+this.getWidth()+"高度:"+this.getHeight() +"颜色:"+this.getColor();

return recStr;

}

}

public class JavaApplication{

public static void main(String[] args) {

Rectangle rec=new Rectangle(5, 8, "蓝色");

rec.getArea();

System.out.println(rec.toString());

}

}

2.一副牌Deck有52张扑克Card组成(不含王牌),每张牌有自己的牌型suit

(用char类型)和点数rank(用String类型),补充完整下面的类的定义。

public class Card {

public Card() {

this.suit = suit;

this.rank = rank;

}

public String toString() {

return suit+rank;

}

public static void main(String[] args){

Card c=new Card('红',"10");

System.out.println(c);

}

}

public class Card {

private char suit;

private String rank;

public Card(char suit,String rank ) {

this.suit = suit;

this.rank = rank;

}

public String toString() {

return suit+rank;

}

public static void main(String[] args){

Card c=new Card('红',"10");

System.out.println(c);

}

}

3.银行的账户记录Account有账户的唯一性标识(11个长度的字符和数字

的组合),用户的姓名,开户日期(Date),账户密码(六位的数字,可以用0开头),当前的余额。银行规定新开一个账户时,银行方面提供一个标识符、账户初始密码123456,客户提供姓名,开户时客户可以直接存入一笔初始账户金额,不提供时初始余额为0。定义该类,并要求该类提供如下方法:存款、取款、变更密码、可以分别查询账户的标识、姓名、开户日期、当前余额等信息。

import java.util.Date;

import java.util.Scanner;

public class Bank {

private String id;

private String name;

private Date createTime;

private String mima;

private int balance;

public amount(String id,String name, int balance){ super();

this.id=id;

https://www.wendangku.net/doc/882691555.html,=name;

this.balance=balance;

this.createTime=new Date();

this.mima="123456";

}

public void deposit(int amount){

this.balance+=amount;

}

public void withdraw(int amount){

this.balance-=amount;

}

public Date getCreateTime() {

return createTime;

}

public void setCreateTime( Date createTime){ this.createTime=createTime;

}

public void changemima(){

Scanner sc=new Scanner(System.in);

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

String mima=sc.nextString();

this.mima=new mima;

}

public static void main(String[] args){

Bank a=new Bank("1234567890","luxi",1000);

a.deposit(100);

a.withdraw(150);

a.changemima();

a.createTime();

System.out.println("账户账号:"+a.getId());

System.out.printf("账户姓名: "+a.getName());

System.out.println("账户日期: "+a.getCreateTime());

System.out.println("账户余额: "+a.getAmount());

}

}

4.一个Fan有自己的品牌和型号,其调速旋钮speed可以调整Fan的速度

(档级在0、1、2、3范围内),通电开关可以改变电扇状态(通电表示工作就绪或者工作,断电表示停止工作)请仔细分析并提供Fan类的定义。并编写程序对其进行测试。具体要求如下:

(1)表示该类对象的状态可以用品牌(brand,可以用字符串型表示,因为

品牌通常都是多个字符组成的)、工作状态(status,用来反映一个电

风扇是否处于通电就绪ready、正在转动working或者静止stop)、当

前的速度(speed,可以用数值型表示);

(2)用构造函数可以创建一个电风扇对象,指定其品牌就可以了,一个

电风扇的初始状态可以是静止,而且初始速度为0,分析为什么不

适宜直接通过构造函数的形式参数来指定初始状态和速度;

(3)给该类提供如下的方法,重点考虑每个动作导致的状态变化,形成

代码逻辑;

●提供一个方法来表示电风扇的开与关,模拟一个开关动作

●通过加速和减速两个方法来调整速度,当速度超出极限(0或3),

向控制台输出一条告警信息作为提示,并且不执行该调速动作。

●提供一个方法能够返回电风扇当前的状态和速度

(4)添加一个main方法,按顺序完成以下工作,考虑状态与速度变化和

开关动作之间的关系:

●创建一个电风扇对象,用f表示;

●加速一次电风扇;

●向控制台输出f的状态和速度;

●启动电风扇(调用对象的开关方法);

●向控制台输出f的状态和速度;

●连续加速4次(考虑发生什么情况);

●向控制台输出f的状态和速度;

●连续减速4次(考虑发生什么情况);

●向控制台输出f的状态和速度;

●关掉电风扇(调用对象的开关方法);

●连续加速2次

●向控制台输出f的状态和速度;

import java.util.Scanner;

public class Fan{

private String brand;

private String type;

private int level;

private String status;

public Fan(int level,String status){

this.brand="apple";

this.type="123";

this.level=level;

this.status=status;

}

public void start(){

this.level=1;

this.status="on";

System.out.printf("风扇已启动转速是%d\n",this.level);

}

public void stop(int level,String status){

this.level=level;

this.status= status;

System.out.printf("风扇已关闭进入待机状态\n");

}

public void setspeed(int level){

this.level=level;

System.out.printf("你已经设置的转速等级是%d\n",this.level);

}

public void speed(){

System.out.printf("请设置你要的转速*1,2,3*\n");

Scanner conn=new Scanner(System.in);

int le=conn.nextInt();

switch(le){

case 1:this.setspeed(1);break;

case 2:this.setspeed(2);break;

case 3:this.setspeed(3);break;

case 0:this.stop(0,"off");break;

}

}

public static void main(String []args){

Fan f= new Fan(1,"on");

Scanner con=new Scanner(System.in);

System.out.printf("欢迎使用%s公司的产品,你用的型号是%s\n",f.brand,f.type);

while(1>0){

System.out.printf("请输入你要设置有start,stop,speed分别有

数字1,2,3替代");

{

int ac=con.nextInt();

switch(ac){

case 1:{f.start();break;}

case 2:{f.stop(0,"off");break;}

case 3:{f.speed();break;}

}

}

}

}

}

5.解释下面的程序运行结果输出为什么是null

public class My {

String s;

public void My(){

s = "Constructor";

}

public void go() {

System.out.println(s);

}

public static void main(String args[]) {

My m = new My();

m.go();

}

}

答:因为程序中s=”Constructor”;是在方法My中进行的,Main方法中并没有调用方法My,所以s的值是null。

6.给出下面的类,找出后面的5个声明中,哪些是重载后的构造函数public class ConstOver {

public ConstOver (int x, int y, int z) {

}

}

A. ConstOver ( ) { }

B. Protected int ConstOver ( ) { }

C. Private ConstOver (int z, int y, byte x) { }

D. Public Object ConstOver (int x, int y, int z) { }

E. Public void ConstOver (byte x, byte y, byte z) { }

答:A

7.给出下面的类,找出后面的5个声明中,哪些是重载后的setVar函数public class MethodOver {

public void setVar (int a, int b, float c) {

}

}

A. Private void setVar (int a, float c, int b) { }

B. Protected void setVar (int a, int b, float c) { }

C. Public int setVar (int a, float c, int b) {return a;}

D. Public int setVar (int a, int b, float c) {return a;}

E. Protected float setVar (int a, int b, float c) {return c;}

答:C、D、E

评语:

日期:年月日

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.wendangku.net/doc/882691555.html,=name; this.time=time; } public void run(){ try{ Thread.sleep(this.time); } catch(Exception e){ } System.out.println(https://www.wendangku.net/doc/882691555.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实验答案解读

实验一 水仙花数: 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 实验题答案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实验_题目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实验一.二.三

实验一 6.编写一程序,运行后从键盘输入三个整数,输出其中的最大数。(if语句) 7.编写一程序,将从键盘输入的一个百分制考试成绩转化为五分制输出。百分

制与五分制的对应如下:(switch语句) 100~90 — A, 89~80 — B, 79~70 — C, 69~60 — D, <60 — E 实验二流程控制程序设计

一、实验目的和要求 掌握Java流程控制语句、Math类、数组的编程方法。 要求至少完成实验容题的70%。 二、实验容 1.打印一个三角形的1~9的乘法表。

2.编写一程序,将从键盘输入的每个月份数(整数)显示出其对应的英文,直至输入0结束,注意对非法数据的处理。(while,switch语句) package.itcast.test; import java.util.Scanner; public class month { public static void main(String[]args){ Scanner c = new Scanner(System.in); System.out.println("请输入月份;"); int a = c.nextInt(); switch(a){ case 1: System.out.println("January"); break; case 2: System.out.println("February"); break; case 3: System.out.println("March"); break; case 4: System.out.println("April"); break; case 5: System.out.println("May"); break; case 6: System.out.println("June"); break; case 7: System.out.println("July"); break; case 8: System.out.println("August"); break; case 9: System.out.println("September"); break; case 10: System.out.println("October"); break; case 11: System.out.println("November"); break; case 12:

Java实验三实验报告

实验报告 课程名称面向对象课程设计 实验项目名称类的继承 班级与班级代码13计算机科学与技术1班实验室名称(或课室)SS1 205 专业计算机科学与技术 任课教师尹华 学号:12251102120 姓名:林淑英 实验日期:2014 年4 月28 日 广东财经大学教务处制

姓名林淑英实验报告成绩 评语: 指导教师(签名) 年月日说明:指导教师评分后,实验报告交院(系)办公室保存。

实验三类的继承、多态、接口、访问控制符与修饰符 实验目的:通过编程练习掌握类的继承,多态,接口,访问控制符与修饰符的使用方法。 实验原理:类的继承,接口。 实验设备:计算机,Eclipse。 实验题目: 1.设计一个Person 类,其成员变量有:姓名(name)、性别(gender)、年 龄(age);再设计一个Student类,它是类Person的子类,其成员变量有:学号(id)、班名(cname)、成绩(score),类Student中要有一个方法 display(),用来显示一个学生的信息。 编写一个测试程序,创建一个Student类的对象,要求name和id 是自己的姓名和学号,输出学生的各种信息,学生的基本信息在类Student的带参数的构造方法中设定。 2.定义一个类A,该类有一个方法f,方法f可以输出英文字母,再定义 一个类B是A的子类,子类B不能重写父类A的方法f,子类有一个方法g,可以输出中文字符串。 编写测试程序,创建B的对象,输出英文字母和中文字符串。 3.定义一个坐标类Pointer,成员变量包括x和y;成员方法有: (1)构造方法 (2)setX、setY、getX、getY、display方法 (3)类方法distance用来计算两点之间的距离 编写测试程序,创建Pointer的两个对象并计算两个点坐标的距离。

实验一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 课后实验三

实验三类与对象 1、(1)创建一个Rectangle类,添加两个(private)属性width与height (2)创建一个构造方法,选择width与height为形式参数。 (3)在Rectangle类中添加两个方法计算矩形的周长和面积 2、创建三角形、梯形和圆形的类封装:分别定义三角形、梯形和圆形类,要求每个类中包含构造方法、求周长及面积的方法。最后在主方法main中为三角形、梯形和圆形类创建对象并打印输出各种图形的周长及面积。(一个文件中包含三个class和main) a) Trangle类具有类型为double的三个边,以及周长、面积属性,Trangle类具有返回周长、面积以及修改三个边的功能。另外,Trangle类还具有一个boolean 型的属性,该属性用来判断三个属能否构成一个三角形。 b) Lader类具有类型double的上底、下底、高、面积属性,具有返回面积的功能。 c) Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的

功能。

3、编写下面程序写出运行结果,谈谈成员变量的继承与隐藏,方法的覆盖与重载。

上例内B继承了类A,在子类B中定义变量num2与父类A 同名,故在子类中父类成员变量num2被隐藏,故sum3=10+200=210;同时在子类B中父类A方法sum2()被重写(覆盖),使num2为子类定义值200,故sum4=50+200=250. 这个例子中,B是A的一个子类。其中声明了一个和父类A同名的变量num2,并定义了与之相同的方法sum2,这时在子类B中,父类的成员变量num2被隐藏,程序第25行父类的方法sum2被重载。于是子类对象所使用的变量num2为子类中定义的num2,子类对象调用的方法sum2( )为子类中所实现的方法。 4、理解下面3个类的定义,分析它们之间的关系,写出运行结果。

java实验

实验1 Java开发环境的熟悉 一、实验目的 1、掌握下载JDK 软件包、Eclipse软件的方法; 2、掌握设置Java 程序运行环境的方法; 3、掌握编写与运行Java 程序的方法; 4、了解Java 语言的概貌; 5、为学习Java 语言和进行Java 程序的实验做好准备工作。 二、实验要求 1、了解java集成开发环境jdk的结构; 2、掌握jdk的环境变量的配置,理解一个java程序的运行过程; 3、能基本上清楚java程序的组成,简单的查找一些程序错误; 4、能分辨出应用程序何小应用程序的不同,及他们在运行上的差别; 三、实验环境 1、PC微机; 2、DOS操作系统或 Windows 操作系统; 3、jdk程序集成环境Eclipse 四、实验步骤 1、先安装好jdk; 2、配置环境变量;

3、书写java程序; 注:保存在一个磁盘中便于利用dos方便查找,保存格式是所有文件格式4、运行程序,查看结果。

先利用dos对目标文件进行检测及编译,直接javac,然后没有错误之后就运用java x(x为文件名)就可以查看出运行程序。 五、实验总结 本次实验我没有利用Eclipse来进行编译及运行,我在dos系统的操作下,运行了简单的程序,开始没有熟悉java语言中的一些大小写的情况,导致尝试性的出错,然后可能是对dos系统的健忘吧,几次都没有成功的运行,后来发现时操作问题最后运行只要用java x(x为文件名)这种格式就可以了。 六、思考题 1.用java运行软件Eclipse来运行java程序 3、JDK和JRE的区别? JRK只包含了开发环境还有只是针对开发者的,而jdk有相应的开发工具、

JavaWeb 实验三

JavaWeb 实验三 一、JSP实验题: P105 例子4-1 P108 例4-2 P109 例4-3 P110例4-4 P111 例4-6 P115 例4-8 P118 例4-9 P124 例4-12 二、mysql实验题 1.创建student和score表 CREATE TABLE student ( id INT(10) NOT NULL UNIQUE PRIMARY KEY , name VARCHAR(20) NOT NULL , sex VARCHAR(4) , birth YEAR, department VARCHAR(20) , address VARCHAR(50) ); 创建score表。SQL代码如下: CREATE TABLE score ( id INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT , stu_id INT(10) NOT NULL , c_name VARCHAR(20) , grade INT(10) ); 2.为student表和score表增加记录 向student表插入记录的INSERT语句如下: INSERT INTO student VALUES( 901,'张老大', '男',1985,'计算机系', '北京市海淀区'); INSERT INTO student VALUES( 902,'张老二', '男',1986,'中文系', '北京市昌平区'); INSERT INTO student VALUES( 903,'张三', '女',1990,'中文系', '湖南省永州市'); INSERT INTO student VALUES( 904,'李四', '男',1990,'英语系', '辽宁省阜新市'); INSERT INTO student VALUES( 905,'王五', '女',1991,'英语系', '福建省厦门市'); INSERT INTO student VALUES( 906,'王六', '男',1988,'计算机系', '湖南省衡阳市'); 向score表插入记录的INSERT语句如下: INSERT INTO score VALUES(NULL,901, '计算机',98); INSERT INTO score VALUES(NULL,901, '英语', 80);

《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、*;

实验1 Java环境搭建

山西大学计算机与信息技术学院 实验报告 姓名学号专业班级 课程名称 Java实验1 实验日期 成绩指导教师批改日期实验名称实验 1 Java环境搭建及编程初步 一、实验目的 1、掌握下载J DK、UltraEdit编辑软件的方法; 2、掌握熟悉设置JAVA的运行环境; 3、掌握编写与运行简单J ava 程序的方法; 4、为学习J ava 语言和进行J ava 程序的实验做好准备工作。 二、实验要求 1、下载、安装并设置 Java SE 软件包。 2、下载并安装 UltraEdit 编辑软件。 3、编写一个简单的 Java 程序。 4、掌握运行 Java 程序的步骤。 三、实验内容 3.1JDK的下载与安装 https://www.wendangku.net/doc/882691555.html,/technetwork/java/javase/downloads/index.html 图1 Java SE Development Kit 7 Downloads Thank you for downloading this release of the Java TM Platform, Standard Edition Development Kit (JDK TM). The JDK is a development environment for building applications, applets, and components using the Java programming language. The JDK includes tools useful for developing and testing programs written in the Java programming language and running on the Java TM platform.

Java__实验三

《Java程序设计》实验报告 目录: 1题目 2目的和要求 3功能说明 4设计流程图 5源程序 6数据结果 7实验心得与体会 1、题目 用户自行定义一个异常,编程创建并抛出某个异常类的实例,运行该程序并观察执行结果。例如:用户密码的合法化验证,要求密码由4-6个数字组成,若长度不落在这个范围或不是由数字组成,抛出自己的异常。 2、目的和要求 熟悉ava的异常机制处理原理,掌握用户自定义异常类,掌握如何抛出异常、捕获并处理异常。 3、功能说明 用户密码的合法化验证,密码由4-6位数字组成,若不在范围内,则抛出“密码超出范围”,若不是数字,则抛出“密码格式错误”,输入密码正确则输出“密码是”。

— 4、设计流程图 5、源代码 import javax.swing.*; import java.awt.*; import java.awt.event.*; class passwordException extends Exception { public passwordException() { super(); } public passwordException(String s) { super(s);JOptionPane.showMessageDialog(null,s); } } public class WUXING { public static String passwordcheck()throws passwordException { String str=JOptionPane.showInputDialog(null,"输入密码:"); if(str.length()<4||str.length()>6) { throw new passwordException("密码超出范围"); } else if (!str.matches("\\d+")) { throw new passwordException("密码格式错误!!"); } return str; } public static void main(String args[]) { try{ String password = passwordcheck(); JOptionPane.showMessageDialog(null,"密码是:" + password); }catch(passwordException e){ e.printStackTrace();

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实验

实验3 继承和多态 一、实验目的: 1、学习和使用类的继承。 2、掌握关键字super的意义和用法。 3、学习掌握类的方法覆盖技术。 4、熟悉Object类,以及它提供给子类的方法equals、toString、clone。 5、学习掌握修饰符protected和final的用法。 6、学习掌握抽象类的概念和使用方法。 7、学习掌握多态性和动态绑定的概念,学习使用多态进行程序设计。 8、学习掌握接口的概念和定义接口的方法。 9、学习使用Cloneable接口和clone方法进行对象容的复制。 10、理解浅复制和深复制的概念,掌握覆盖clone方法进行对象容深复 制的技术。 二、实验任务: 1、使用Java SDK建立一个非图形化的标准Java程序学习和使用类的继承、 掌握关键字super的意义和用法、掌握类的方法覆盖技术、熟悉Object 类,以及它提供给子类的方法equals、toString、clone、学习掌握抽象 类的概念和使用方法、学习掌握多态性和动态绑定的概念,学习使用多 态进行程序设计。程序要求: (1)首先创建一个类家族,其中抽象类几何图形类GeometricObject 为父类,圆类Circle和矩形类Rectangle为子类。几何图形类

GeometricObject中定义保护型字符串变量color,表示图形的颜 色;该类要具备构造方法和两个抽象方法findArea和 findPerimeter,抽象方法findArea求图形面积,抽象方法 findPerimeter求图形周长。 (2)Circle类和Rectangle类是GeometricObject类的子类,其中应实现父类的抽象方法。 (3)创建静态方法equalArea,用来比较图形的面积(不是以上三个类的成员方法)。方法名称如下: static boolean equalArea(GeometricObject object1, GeometricObject object2) (4)创建静态方法displayGeometricObject,用来显示几何对象的信息(不是以上三个类的成员方法)。方法名称如下: static void displayGeometricObject(GeometricObject object) (5)程序主方法中创建两个几何对象,一个圆和一个矩形,并用GeometricObject类的引用变量引用它们,调用equalArea比较两 个对象的面积是否相等,并调用displayGeometricObject方法显 示对象信息。 2、使用Java SDK建立一个非图形化的标准Java程序,进一步学习多态特 性以及接口的概念和利用接口实现多态的方法。程序要求如下: (1)首先创建圆类Circle和圆柱体类Cylinder,其中Circle类是父类,Cylinder类是子类;

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实验答案全

实验3:Java流程控制及数组 4.编写一个Java Application程序,输出区间[200,300]上的所有素数,要求写出程序的运行结果。 实验4:Java类与对象 1.编写一个Java程序片断,以定义一个表示学生的类Student。这个类的属性有“学号”、“班号”、“姓名”、“性别”、“年龄”,方法有“获得学号”、“获得班号”、“获得性别”、“获得姓名”、“获得性别”、“获得年龄”。 2.为类Student增加一个方法public String toString( ),该方法把Student类的对象的所有属性信息组合成一个字符串以便输出显示。编写一个Java Application程序,创建Student类的

3.按下面的要求完成Java Application程序,写出程序的运行结果。 (1)定义一个Java类Point,用来描述平面直角坐标系中点的坐标,该类应该能描述点的横、纵坐标信息及一些相关操作,包括获取点的横、纵坐标,修改点的坐标,显示点的当前位置等。

实验5:Java继承与多态 2.假定根据学生的3门学位课程的分数决定其是否可以拿到学位,对于本科生,如果3门课程的平均分数超过60分即表示通过,而对于研究生,则需要平均分超过80分才能够通过。根据上述要求,请完成以下Java类的设计: (1)设计一个基类Student描述学生的共同特征。 (2)设计一个描述本科生的类Undergraduate,该类继承并扩展Student类。 (3)设计一个描述研究生的类Graduate,该类继承并扩展Student类。 (4)设计一个测试类StudentDemo,分别创建本科生和研究生这两个类的对象,并输出相

java实验报告实验3答案

实验三熟悉常用java工具包并运用编程 实验目的: 本实验旨在巩固同学们对上课所讲java.util工具包中Collection,List,Set,Map加深理解,对其用法编程有一个更加深入的理解,为同学们以后的能够用Java进行独立地编写桌面程序打下一定的基础。 实验内容: 本实验的内容为:用Collection,List,Set,Map来存储数据,并进行排序,任何用Iterator,ListIterator或者Enumeration来打印其结果(按顺序和降序排列打印)。共分为四部分部分(前三部分必做,如果选第四个,前三个可以不做。。): (1)按顺序把1,10,5,7,6,2,9,20,14,存入到List中(注:允许自己自定义任何数),并对其进行排序,打印其升序和降序排列的结果。然后再向List中位置为第四位插入数35看看会有啥结果?再向List中插入字符串“ddy”,试猜想排序是否会出错?然后看看运行结果是啥? 程序: import java.util.*; public class SY3 { public SY3() { List list=new ArrayList(); list.add(1); list.add(10); list.add(5); list.add(7); list.add(6); list.add(2); list.add(9); list.add(20); list.add(14); list.add(35); list.add("ddy"); System.out.println("原序列:"); for(int i=0;i<=list.size()-1;i++) { System.out.println(list.get(i)); } System.out.println("新序列"); for(int i=0;i<=list.size()-1;i++) {

浙大JAVA实验题答案answer

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

相关文档