当前位置:文档之家› JAVA实验报告二

JAVA实验报告二

JAVA实验报告二
JAVA实验报告二

HUBEI UNIVERSITY OF AUTOMOTIVE TECHNOLOGY

JAVA语言程序设计

实验报告

齐心编著

翟亚红审核

计算机实验教学示范中心

2013年1月

实验二Java类编程练习

实验目的:

1.掌握类及类的声明

2.掌握对象的定义和使用

3.掌握接口的定义与实现

实验内容:

1. 对象的创建和使用

编写一个圆环类Ring的Java程序。圆环类有3个数据成员,分别是内半径innerRadius,外半径outerRadius和颜色color,这些属性通过get和set方法进行封装。另外,圆环类中的getArea方法可以返回其面积。把程序中的代码补充完整,并查看结果。

public class Ring {

private double innerRadius;

private double outerRadius;

public String color;

public Ring(double iRadius, double oRadius, String c) { // 初始化数据成员

this.innerRadius = iRadius;

this.outerRadius = oRadius;

this.color = c;

}

// 用get和set方法封装数据成员

public double getInnerRadius() {

return innerRadius;

}

public void setInnerRadius(double innerRadius) {

this.innerRadius = innerRadius;

}

public double getOuterRadius() {

return outerRadius;

}

public void setOuterRadius(double outerRadius) {

this.outerRadius = outerRadius;

}

public String getColor() {

return color;

}

public void setColor(String color) {

this.color = color;

}

public double getArea() {

return Math.PI

* (getOuterRadius() * getOuterRadius() - getInnerRadius() * getInnerRadius());

}

public double geticricle(){ //内周长

return 2*Math.PI*getInnerRadius();

}

public double getocricle(){ //内周长

return 2*Math.PI*getOuterRadius();

}

public static void main(String[] args) {

Ring ring = new Ring(5, 8, "red");

double ring1,ring2;

System.out.println("圆环的内半径: " + ring.getInnerRadius());

System.out.println("圆环的外半径: " + ring.getOuterRadius());

System.out.println("圆环的颜色: " + ring.color);

System.out.println("圆环的面积: " + ring.getArea() + "\n");

ring.setInnerRadius(4);

ring.setOuterRadius(6); // 设置圆环ring的外半径为6

ring.setColor("blue");

ring1=ring.geticricle();

ring2=ring.getocricle();

System.out.println("圆环的内半径: " + ring.getInnerRadius());

System.out.println("圆环的外半径: " + ring.getOuterRadius());

System.out.println("圆环的颜色: " + ring.color);

System.out.printf("圆环的面积: %.2f\n" , ring.getArea());

System.out.printf("圆环的内周长: %.2f\n" , ring1);

System.out.printf("圆环的外周长: %.2f\n" , ring2);

}

}

运行结果:

圆环的内半径: 5.0

圆环的外半径: 8.0

圆环的颜色: red

圆环的面积: 122.52211349000193

圆环的内半径: 4.0

圆环的外半径: 6.0

圆环的颜色: blue

圆环的面积: 62.83

圆环的内周长: 25.13

圆环的外周长: 37.70

思考:

1)将程序中的语句Ring ring = new Ring(5,8,"red"); 改成Ring ring =

new Ring();修改后编译运行,此时有错误发生吗?分析错误的原因。

2)接着为程序添加一个如下所示的默认构造函数,观察程序运行是否还有

上述错误发生?

public Ring() {

innerRadius = 1.0;

outerRadius = 2.0;

color = "white";

}

答:没有错误发生。

3)如果在输出圆环的面积时要求保留两位小数,程序如何修改?

答:System.out.printf("圆环的面积: %.2f\n" , ring.getArea());

4)请为圆环类Ring在添两个方法以便能返回内圆和外圆的周长,然后在

主函数main()中分别创建两个对象ring1,ring2以显示周长。

答:System.out.printf("圆环的内周长: %.2f\n" , ring1);

System.out.printf("圆环的外周长: %.2f\n" , ring2);

2. 使用类来封装对象的属性和功能编写一个Java程序,该程序中有3个类:

Trangle、Lader和Circle,分别用来刻画“三角形”、“梯形”和“圆形”。

具体要求如下:

Trangle类具有类型为double的三个边(sideA,sideB,sideC),以及周长(length)、面积(area)属性,Trangle类具有返回周长(getLength)、面积(getArea)以及修改三个边(setABC)的功能。另外还有一个boolean型的属性(boo),该属性用来判断三个数是否构成一个三角形。

Lader类具有类型为double的上底(above)、下底(bottom)、高(height)、面积(area)属性,具有返回面积(getArea)的功能。

Circle类具有类型为double的半径(radius)、周长(length)和面积(area)属性,具有返回周长(getLength)、面积(getArea)的功能。

把程序中的代码补充完整,并查看结果。

//import javax.swing.text.TabableView;

class Trangle

{

double sideA,sideB,sideC,area,length;

boolean boo;

public Trangle(double a,double b,double c)

{

setABC(a,b,c);//带参数的构造方法

}

double getLength() {

if(boo)

{

return sideA+sideB+sideC;

}

else

{

System.out.println("不是一个三角形,不能计算周长");

return 0;

}

}

public double getArea()

{

if(boo)

{

double p=(sideA+sideB+sideC)/2.0;

area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC)) ;

return area;

}

else

{

System.out.println("不是一个三角形,不能计算面积");

return 0;

}

}

public void setABC(double a,double b,double c)

{

//参数a,b,c分别赋值给sideA,sideB,sideC

// 【补充代码…】

sideA=a;

sideB=b;

sideC=c;

if(a+b>c&&a+c>b&&b+c>a) //a,b,c构成三角形的条件表达式

{

//给boo赋值。【补充代码】

boo=true;

}

else

{

//给boo赋值。【补充代码】

boo=false;

}

}

}

class Lader

{

double above,bottom,height,area;

Lader(double a,double b,double h)

{

//带参数的构造方法,将参数a,b,h分别赋值给above,bottom,height 【补充代码…】

this.above=a;

this.bottom=b;

this.height=h;

}

double getArea()

{

//方法体,,要求计算出area返回

// 【补充代码…】

return 0.5*(above+bottom)*height;

}

}

class Circle

{

double radius,area, length;

Circle(double r)

{

//带参数的构造方法【补充代码

this.radius=r;

}

double getArea()

{

//方法体,要求计算出area返回【补充代码…】

return Math.PI*radius*radius;

}

double getLength()

{

//getArea方法体的代码,要求计算出length返回【补充代码…】

return 2*Math.PI*radius;

}

void setRadius(double newRadius)

{

radius=newRadius;

}

double getRadius()

{

return radius;

}

}

public class AreaAndLength

{

public static void main(String args[])

{

double length,area;

Circle circle = null;

Trangle trangle = null;

Lader lader = null;

//创建对象circle(半径为5)【补充代码】

circle=new Circle(5);

//创建对象trangle(边长分别为3,4,5) 【补充代码】

trangle=new Trangle(3,4,5);

//创建对象lader【补充代码】

lader=new Lader(3,4,5);

// circle调用方法返回周长并赋值给length 【补充代码】 length=circle.getLength();

System.out.println("圆的周长:"+length);

// circle调用方法返回面积并赋值给area 【补充代码】

area=circle.getArea();

System.out.println("圆的面积:"+area);

// trangle调用方法返回周长并赋值给length 【补充代码】 length=trangle.getLength();

System.out.println("三角形的周长:"+length);

// trangle调用方法返回面积并赋值给area【补充代码】

area=trangle.getArea();

System.out.println("三角形的面积:"+area);

// lader调用方法返回面积并赋值给area 【补充代码】

area=lader.getArea();

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

// trangle调用方法设置三个边,要求将三个边修改为12,34,1。【补充代码】 trangle.setABC(12,34,1);

// trangle调用方法返回面积并赋值给area【补充代码】

area=trangle.getArea();

System.out.println("三角形的面积:"+area);

// trangle调用方法返回周长并赋值给length 【补充代码】

length=trangle.getLength();

System.out.println("三角形的周长:"+length);

}

}

运行结果:

圆的周长:31.41592653589793

圆的面积:78.53981633974483

三角形的周长:12.0

三角形的面积:6.0

梯形的面积:17.5

不是一个三角形,不能计算面积

三角形的面积:0.0

不是一个三角形,不能计算周长

三角形的周长:0.0

3. 掌握上转型对象的使用,多态的特性

定义一个抽象(abstract)类,类名为Employee。 Employee的子类有YearWorker、MonthWorker和WeekWorker。YearWorker对象按年领取薪水(每年10万),MonthWorker对象按月领取薪水(每月1万),WeekWorker 对象按周领取薪水(每周0.5万,设定一个月4周)。Employee类有一个抽象(abstract)方法:

public abstract double earnings();

子类必须重写父类的earnings()方法,给出各自领取每年报酬的具体方式。

有一个Company类,该类用Employee数组作为成员,Employee数组的单元可以是YearWorker对象、MonthWorker对象、WeekWorker对象的上转型对象。程序能输出Company对象一年需要支付的薪水总额。

请按模版要求,将代码补充完整。

abstract class Employee {

public abstract double earnings();

}

class YearWorker extends Employee {

//重写earnings()方法【补充代码…】

public double earnings(){

return 100000;

}

}

class MonthWorker extends Employee {

//重写earnings()方法【补充代码…】

public double earnings(){

return 10000;

}

}

class WeekWorker extends Employee {

//重写earnings()方法【补充代码…】

public double earnings(){

return 5000;

}

}

class Company {

Employee[] employees;

double salaries = 0;

Company(Employee[] employees) {

this.employees = employees;

}

public double salariesPay() {

salaries = 0;

//计算salaries【补充代码…】

for (int j = 0; j < employees.length; j++){

salaries+=employees[j].earnings();

}

return salaries;

}

}

public class HardWork {

public static void main(String[] args) {

Employee[] employees = new Employee[20];

for (int i = 0; i < employees.length; i++) {

if(i%3==0)

employees[i] = new WeekWorker();

else if(i%3==1)

employees[i] = new MonthWorker();

else if(i%3==2)

employees[i] = new YearWorker();

}

Company company = new Company(employees);

System.out.println("公司年工资总额:" + company.salariesPay());

}

}

运行结果:

公司年工资总额:705000.0

4.掌握嵌套类和内部类的概念和用法

编写一个程序要求定义一个外部类Outer,然后在Outer类中定义一个内部类Inner和局部类Local,内部类Inner和局部类Local的任务都是显示出外部类中的数组元素,然后求出这些数组元素的平均值。

请按模版要求,将代码补充完整。

class Outer {

private int data[];

Outer(int x[]) {

data = x;

}

void checkInner() {

Inner innerObj = new Inner();

// 调用Inner对象的show()方法【补充代码】

innerObj.show();

System.out.println("内部类计算的平均值: " + innerObj.average());

}

void checkLocal() {

class Local {

void show() {

System.out.print("从局部类显示数组元素:");

for (int i = 0; i < data.length; i++) {

System.out.print(data[i] + " ");

}

System.out.println();

}

int average() {

int sum = 0;

for (int i = 1; i < data.length; i++) {

sum += data[i];

}

return sum/data.length; // 返回data数组的平均值【补充代码】

}

}

Local localObj = new Local();

localObj.show();

System.out.println("局部类计算的平均值: " + localObj.average());

}

class Inner {

void show() {

System.out.print("从内部类显示数组元素:");

for (int i = 0; i < data.length; i++) {

// 打印data数组的每个元素【补充代码】

System.out.print(" "+data[i]);

}

System.out.println();

}

int average() {

int sum = 0;

for (int i = 1; i < data.length; i++) {

sum += data[i];

}

return sum / data.length;

}

}

}

public class InnerClassTest {

public static void main(String[] args) {

int a[] = { 6, 8, 9, 22, 34, 7, 2, 1, 15 };

Outer outerObj = new Outer(a);

outerObj.checkInner();

// 调用outerObj对象的checkLocal方法【补充代码】

outerObj.checkLocal();

}

}

运行结果:

从内部类显示数组元素: 6 8 9 22 34 7 2 1 15 内部类计算的平均值: 10

从局部类显示数组元素:6 8 9 22 34 7 2 1 15

局部类计算的平均值: 10

实验总结:

java实验报告完整版

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

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

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/c67043159.html,/j2se,根据提示

实验二 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第二次实验报告

java实验报告 实验题目运用JavaFx实现时钟动画学生姓名 指导教师 学院 专业班级 完成时间2014年12

目录 一、实验目的 (3) 二、实验开发环境和工具 (3) 三、实验内容 (3) 四.实际简要描述: (3) 五.程序清单 (4) 六.结果分析 (10) 七.调试报告 (11) 八.实验心得 (11)

一、实验目的 1.了解和掌握JavaFx动画基本概念和相关用法 二、实验开发环境和工具 可以在Linux或者Windows操作系统上搭建开发环境,可使用集成开发环境Eclipse,使用Java语言,工具包使用JDK1.8。 三、实验内容 基于JavaFx画出如下所示可动态变化的时钟。要求按‘start’按钮可启动时钟,按‘stop’按钮可让时钟暂停。时钟初始时显示当前时间并开始动态变化。 四.实际简要描述: 1.新建一个动态时针 EventHandlereventHandler = e -> { clock.setCurrentTime(); // 设置时钟时间 }; 2.建立一个动画使时钟走起来 Timeline animation = new Timeline( newKeyFrame(https://www.doczj.com/doc/c67043159.html,lis(1000), eventHandler)); animation.setCycleCount(Timeline.INDEFINITE); animation.play(); // 开始动画

3.建立按钮 HBoxhbox=new HBox();//新建HBOX布局 hbox.setSpacing(20); hbox.setLayoutX(310); hbox.setLayoutY(520); Start = new Button("Start");//建立start按钮 Start.setPrefSize(80, 40); Stop = new Button("Stop");//建立stop按钮 Stop.setPrefSize(80, 40); hbox.getChildren().addAll(Start,Stop);//将按钮加入HBOX getChildren().add(hbox); 五.程序清单 importjavafx.application.Application; importjava.util.Calendar; importjava.util.GregorianCalendar; https://www.doczj.com/doc/c67043159.html,yout.Pane; importjavafx.scene.paint.Color; importjavafx.scene.shape.Circle; importjavafx.scene.shape.Line; importjavafx.scene.text.Text; importjavafx.application.Application; importjavafx.stage.Stage; importjavafx.animation.KeyFrame; importjavafx.animation.Timeline; importjavafx.event.ActionEvent;

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实验报告 (2)

附件2:实验报告封皮 2015—2016学年第1学期 Java应用程序设计课程 实验报告 学院:计算机科学技术 专业:软件工程 班级:14402 姓名:邵磊 学号:041440230 任课教师:王薇

实验日期:2015年11月02日实验题目Java简介及开发环境搭建 实验内容1.熟悉Java开发环境2.Java程序的编辑和运行 实验目的1.熟悉Java开发环境 (1)熟悉JDK工具包的下载及安装过程。 (2)掌握JAVA_HOME、CLASSPATH及Path的配置内容。(3)掌握Java程序运行原理及javac、java命令的使用。2.Java程序的编辑和运行 (1)熟悉用记事本编写Java程序的过程。 (2)了解Java程序的基本结构。 (3)掌握javac及java命令的使用。 (4)熟悉MyEclipse集成开发环境的使用。 实验步骤1.熟悉Java开发环境 (1)登录Oracle官方网站Java首页https://www.doczj.com/doc/c67043159.html,/technetwork/java/index.html并下载最新版JDK工具包。 (2)将JDK工具包安装在D:\java\jdk1.6.0_18\文件夹中。 (3)完成JDK环境配置。创建JAVA_HOME变量并设置其值为”D:\java\jdkl1.6.0_18”,创建CLASSPATH 变量并设置其值为”D:\java\jdkl1.6.0_18\lib”文件夹中的dt.jar、tools.jar及当前目录,在Path变量原有值的基础上增加”D:\java\jdk1.6.0_18\bin”。 (4)验证JDK是否配置正确。 2.Java程序的编辑和运行 (1)创建D:\javaExecise文件夹。 (2)设置显示已知文件夹类型的扩展名。 (3)利用记事本完成Java程序的编写。 (4)利用命令编译运行Javs程序 (5)在MyEclipse中编译并运行Java程序 实验结果1.熟悉Java开发环境 单击【开始】|【运行】命令打开【运行】对话框。在该对话框的【打开】文本框中输入”cmd”命令,进入【命令提示符】窗口。在命令提示符后面输入”javac”命令。出现相关与javac命令相关的参数说明,也可以在命令提示符后面输入”java-version”,如果配置成功会显示当前JDK版本。2.Java程序的编辑和运行 在【我的电脑】的D盘创建了【javaExecise】文件夹,并且取消【隐藏已知文件夹类型的扩展名】复选框的勾选状态。在【开始】里的所有程序中选择【附件】|【记事本】命令,打开【无标题-记事本】窗口。在记事本中书写代码。写完保存代码并存在D:\javaExecise路径把文本名字改为Start.java。在【开始】|【运行】命令中,输入cmd命令进入【命令提示符】窗口完成java Start,解释执行。在MyEclipse中实现了第一个程序。 遇到1.熟悉Java开发环境 在网上搜索官方网站,因为官网都是英文版所以应用起来不是很方便,下载后把软件安装在D盘,在安装JDK时,步骤不再是一直按“下一步”,而是要在【我的电脑】里的【属性】中找到【系统属性】对话框,单击【高级】选项卡,打开【环境变量】。在里面新添加两个系统变量和更改一个

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实验报告完整版

实验报告 (计算机与信息工程学院实验中心) 学期: 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 Java语言基础 实验2 数组和字符串编程 实验3 Java面向对象程序设计 实验4 Java异常处理 实验5 多线程编程 实验6 图形用户界面编程 实验7 输入与输出 实验8 网络编程 实验9 数据库编程

实验1 Java语言基础 一、实验目的和要求 1.实验目的 通过实验,掌握Java语言程序设计的基本方法。 学会Java语言中标示符的命名、运算符和表达式的应用。 熟练地掌握Java程序流程控制语句的应用。 2.实验内容 1.编写应用程序,计算100(含100)以内所有偶数的和。 2.“水仙花数”是指一个3位数,其个位、十位、百位上的数字的立方和等于该数本身,例如371=33+73+13,因此371是一个水仙花数。编写程序,求所有的水仙花数。 3.编写一个程序,求1-100间的素数。 4.有一函数: x (x<1) Y= 3x-2 (1≤x<10) 4x (x≥10) 写一程序,给定x值,输出y值。 5.使用for循环语句,编写程序输出以下图案。 ☆ ☆☆☆ ☆☆☆☆☆ ☆☆☆☆☆☆☆ ☆☆☆☆☆ ☆☆☆ ☆ 6.编写程序,输出从公元1900年到2100年所有闰年的年号,每输出5个年号换一行。判断年是否为闰年的条件是:①若年号可以被4整除,而不能被100整除,则是闰年;②若年号可以被400整除,也是闰年。 二、源代码 1.package addsum; public class addsum { public static void main(String s[])

{ int sum=0; for(int i=0;i<=100;i=i+2) sum=sum+i; System.out.println(sum); } } 2.package addsum; public class shuixianhua { public static void main(String[] args) { int i, j, k; for (i = 1; i <= 9; i++) { for (j = 0; j <= 9; j++) { for (k = 0; k <= 9; k++) { if ((i * 100 + j * 10 + k) == (i * i * i + j * j * j + k * k * k)) System.out.println(i * 100 + j * 10 + k + "=" + i + "*" + i + "*"+i+"+" + j + "*" + j+ "*" + j + "+" + k+ "+" + k+ "+" + k); } } } } } 3.package addsum; public class prime { public static void main(String[] args) { System.out.println("100内的素数为:"); loop: for (int i = 2; i < 100; i++) { for (int j = 2; j < i; j++) { if (i % j == 0) { continue loop; } } System.out.print(" " + i); } } } 4.package addsum; import java.util.Scanner; public class question4 { public static void main(String[] args) { double x,y; System.out.print("请输入x:");

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程序设计实验报告2(弹球游戏)

Java程序设计实验报告题目弹球游戏 姓名魏艺荣 学号220900428 学院数计学院 专业软件工程 年级 2009 级 指导教师张舒 2010年 4 月16 日

一、实验目的 1、掌握Swing图形用户界面编程以及事件处理等,掌握java绘图技术。 2、掌握多线程编程的基本原理,能使用Runnable、ExecutorService等接口进行 线程的创建、启动等工作。 3、培养独立查找资料,并解决问题的能力。 二、实验任务 1、设计并编程实现弹球游戏: 用户能通过GUI组件指定生成小球的数量,每个小球将从随机的位置出现,并具有随机颜色,随机速度以及随机的运动方向,小球沿初始方向匀速运动,当碰到窗口边缘时,小球将依据受力原理改变运动方向(可简化考虑,受力只改变小球的运动方向,小球仍按照初始速度匀速运动,且不考虑小球之间的碰撞)。 鼠标在界面中显示为方块状,玩家需按住鼠标来回移动以避开运动的小球及屏幕四周,如果鼠标碰到任一小球或者窗口四周,则游戏结束。 程序需提供计时功能,并最终显示玩家能坚持多少秒。 2、程序要求: (1)具备相应界面,并通过事件编程,实现相应的GUI组件功能。 (2)使用多线程技术,在程序窗口区域绘制小球,并以线程控制小球的移动,实现动画效果。 (3)实现鼠标与屏幕四周,以及与小球的碰撞检测。 三、开发工具与平台 1.开发工具:Eclipse默认是一个和Jbuilder类似的Java开发工具,但它不仅仅只是Java开发工具,只要装上相应的插件,eclipse也可作为其它语言的开发工具。如C/C++插件(CDT)。 2.开发平台:JDK1.5 四、设计思路 1.界面设计

参考_JAVA实验报告

实验报告 实验名称工资管理程序第 2 次实验实验日期 2009- - 指导教师 班级 04软件工程学号姓名成绩 一、实验目的 1、掌握类的定义、域的定义及方法的定义。 2、掌握对象的定义与使用 3、掌握抽象类的用法 二、实验内容 1、建立一个抽象类Employee类 至少包括成员变量: 名、姓、年龄、性别 至少包括构造函数: 名和姓作为参数 至少包括方法: 取名称 至少包括抽象方法: 取收入earnings() 重写Object的toString()方法,返回Employee类的描述信息如名称信息 2、建立老板类Boss类继承Employee类 至少构造函数以名和姓及周工资作为参数 老板的工资是周工资 3、建立销售人员类 销售人员的收入= 销售量* 单价 要求:每个销售人员对象都能知道当前共有多少个销售人员 ... ... 4、在main函数中,分别创建老板对象、销售人员对象 三、实验步骤 3.1 进入eclips,创建一个名为employ的工程,新建一个抽象类Employee类 类中的成员变量有private String firstname; private String lastname; private String sex; private String age; 构造函数为employee(){} //无参数的构造函数 employee(String fn,String ln) //以名和姓为参数的构造函数 { this.firstname=fn; https://www.doczj.com/doc/c67043159.html,stname=ln; } employee(String fn,String ln,String s,String a)//参数完整的构造函数 { this(fn,ln);

JAVA实验报告

学生实验报告册 (理工类) 课程名称:面向对象程序设计专业班级:16计算机科学与技术(专转本)学生学号:22 学生姓名:张义丹 所属院部:计算机工程指导教师:刘晶 20 16 ——20 17 学年第2 学期 金陵科技学院教务处制

实验报告书写要求 实验报告上交电子稿,标题采用四号黑体,正文采用小四号宋体,单倍行距。 实验报告书写说明 实验报告中实验目的和要求、实验仪器和设备、实验内容与过程、实验结果与分析这四项内容为必需项。教师可根据学科特点和实验具体要求增加项目。 填写注意事项 (1)细致观察,及时、准确、如实记录。 (2)准确说明,层次清晰。 (3)尽量采用专用术语来说明事物。 (4)外文、符号、公式要准确,应使用统一规定的名词和符号。 (5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。 实验报告批改说明 实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用五级记分制或百分制,按《金陵科技学院课堂教学实施细则》中作业批阅成绩评定要求执行。

实验项目名称:Java编程基础实验学时: 6 同组学生姓名:————实验地点:工科楼A101 实验日期:实验成绩: 批改教师:刘晶批改时间:

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

java实验报告完整版

java实验报告完整版 验报告(计算机与信息工程学院实验中心)学期: 全文结束》》-xx 课程名称: 《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类与对象实验报告

西安邮电大学 (计算机学院) 课实验报告 实验名称:类与对象 专业名称:计算机科学与技术 班级:计科1405班 学生:高宏伟 学号:04141152 指导教师:霞林 实验日期:2016.9.29

一、实验目的 通过编程和上机实验理解Java 语言是如何体现面向对象编程基本思想,了解类的封装方法,以及如何创建类和对象,了解成员变量和成员方法的特性,掌握OOP 方式进行程序设计的方法。 二、实验要求 1.编写一个创建对象和使用对象的方法的程序。 2.编写一个包含类成员和示例成员的程序。 3.编写一个使用Java包的程序。 三、实验容 (一)三角形、梯形和圆形的类封装 ?实验要求: 编写一个Java应用程序,该程序中有3个类:Trangle、Leder和Circle,分别用来刻画“三角形”、“梯形”和“圆形”。具体要求如下: a) Trangle类具有类型为double的三个边,以及周长、面积属性,Trangle类 具有返回周长、面积以及修改三个边的功能。另外,Trangle类还具有一个boolean 型的属性,该属性用来判断三个属能否构成一个三角形。 b) Lader类具有类型double的上底、下底、高、面积属性,具有返回面积的 功能。 c) Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面 积的功能。 ?程序模板:

AreaAndLength.java class Trangle { double sideA,sideB,sideC,area,length; boolean boo; public Trangle(double a,double b,double c) { this.sideA=a; //【代码1】参数a,b,c分别赋值给sideA,sideB,sideC this.sideB=b; this.sideC=c; if((sideA+sideB)>sideC&&(sideC+sideB)>sideA&&(sideC+sideA)>sideB) //【代码2】a,b,c构成三角形的条件表达式 { boo=true;//【代码3】给boo赋值。 } else { boo=false;【代码4】//给boo赋值。 } } double getLength() { return sideA+sideB+sideC;【代码5】//方法体,要求计算出length的值并返回 } public double getArea() { if(boo) { double p=(sideA+sideB+sideC)/2.0; area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC)) ; return area; } else { System.out.println("不是一个三角形,不能计算面积"); return 0; } } public void setABC(double a,double b,double c) { this.sideA=a; this.sideB=b; this.sideC=c; //【代码6】参数a,b,c分别赋值给sideA,sideB,sideC

中南软件java实验报告2

中南大学软件学院实验报告 课程名称Java面向对象程序设计SSD3 实验项目名称实验2《一维数组》 学生姓名专业班级学号 实验成绩日期 实验学时: 2 每组人数: 1 实验类型: 1 (1:基础性2:综合性3:设计性4:研究性)实验要求: 1 (1:必修2:选修3:其它) 实验类别: 2 (1:基础2:专业基础3:专业4:其它) 一、实验目的 学习一维数组的用法。 二、实验内容 1. (P182, 6.3)编写程序,读取1-100之间的整数,然后计算每个数出现的次数。假 package java_shiyan_two; import java.util.Scanner; public class Jscs_6_3 { public static void main(String[] args) { // TODO Auto-generated method stub System.out.print("Enter the integers between 1 and 100 :");

int list[]=new int[88]; Scanner input=new Scanner(System.in); for (int i=0;i<=list.length;i++){ list[i]=input.nextInt(); if(list[i]==0){ break; } if (list[i]<1||list[i]>100){ System.out.print("WRONG"); continue; } } int[] list1=insertionSort (list); cout(list1); } /* * 数组排序 */ public static int[] insertionSort (int[] list){ int[] result=new int [list.length]; for (int i=0 ;i=0&&list[k]>c;k--){ list[k+1]=list[k]; } list [k+1]=c; } for (int d=0;d

java实验报告一

《Java技术》实验报告

5.分析 本程序成功实现了初始化两个在不同包内的对象,以及实现了子类对象对父类方法的引用与重写。也编写并验证了求两点距离的方法。但是平移函数的使用因为实验指导书中并没有明确要求,故没有再次验证。 五、实验结论、分析、思考题与心得体会 通过本次实验,我有以下几方面的收获、认识和体会: 1、学会了在三种环境下编写程序及运行程序的方法; 2、加深了Java中相关语法的认识: 在初次录入源程序时,我将public写成了Public,导致编译出错,结合语法我认识到Java是严格区分大小写的。 3、了解了对不同包内的函数的引用以及子类对父类方法的引用与重写。 4、了解了super方法的用法。 5、思考题一JVM是JRE的一部分。它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java语言最重要的特点就是跨平台运行。使用JVM就是为了支持与操作系统无关,实现跨平台。所以,JAVA虚拟机JVM是属于JRE的,而现在我们安装JDK时也附带安装了JRE(当然也可以单独安装JRE)。 6、思考题二PATH是java虚拟机在读取java文件时JDK的默认路径。而CLASSPATH 是告诉虚拟机要去哪里实现我给他的类。这两者在系统属性中的系统变量中设置。 7、思考题三创建子类对象时引用了父类的空构造函数作为自己的构造函数,然后再引用自己的有参构造函数来初始化变量。 8、思考题四多态性是指允许不同类的对象对同一消息作出响应。比如同样的加法,把两个时间加在一起和把两个整数加在一起肯定完全不同。又比如,同样的选择编辑-粘贴操作,在字处理程序和绘图程序中有不同的效果。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。 在程序中有不同的参数可以使用同名的不同构造函数来体现。

JAVA实验报告Y.Daniel Liang第二次实验

2014-2015学年第一学期实验报告 课程名称:Java SE 平台技术 实验名称:JA VA编程(基础练习)姓名: 学号: 成绩: 指导教师: 日期:

目录 一、实验目的 (3) 二、实验内容 (3) 2.1 构建一个继承类。 (3) 2.2 抽象类和接口的使用 (3) 2.3 图像类编程和事件驱动程序。 (3) 三、实验环境 (3) 四、实验结果 (3) 4.1构建继承类 (3) 4.2抽象类和接口的使用 (3) 4.3 事件驱动程序 (3) 五、附录 (4) 5.2 设计方案 (4) 5.1构建继承类 (4) 5.2抽象类和接口的使用 (4) 5.3 事件驱动程序 (4) 5.2 设计方案 (4) 5.1构建继承类 (4) 5.2抽象类和接口的使用 (4) 5.3 事件驱动程序 (4) 5.3 算法 (4) 5.3.1 三角形继承类 (4) 5.3.2 抽象类与接口 (5) 5.3.3 画出小车 (5) 5.4. 设计图 (6) 5.4.1 三角形类UML设计图 (6) 5.4.2.1 Colorable接口UML设计图 (7) 5.4.2.2 CompareTo与Clone接口UML设计图 (8) 5.4.3 小车UML设计图 (9) 5.5 仿真结果 (9) 5.5.1构建继承类 (9) 5.5.2抽象类和接口的使用 (9) 5.5.3 事件驱动程序 (10) 5.6 调试心得 (10) 5.6.1 错误分析 (10) 5.6.2 心得与收获 (10)

一、实验目的 通过使用JA V A语言进行基本程序的开发,掌握JA V A通用IDE,练习类的封装使用、JA V A基本类库的使用、利用UML进行简单建模。 二、实验内容 2.1 构建一个继承类。 2.2 抽象类和接口的使用 2.3 图像类编程和事件驱动程序。 三、实验环境 Eclipse、Win 8.1 四、实验结果 4.1构建继承类 输出了三角形的三边长,面积,周长。 4.2抽象类和接口的使用 4.2.1执行Colorable接口,输出了一条how to color的信息 4.2.2执行Comparable 和Cloneable接口,输出了创建的五边形和克隆五边形的周 长和面机的信息。 4.3 事件驱动程序 输入不同的数值,四个小车的速度不一样。

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