java实验报告样本2

合集下载

实验报告(二)

实验报告(二)

北京信息科技大学信息管理学院实验报告课程名称java程序设计实验项目实验二类和对象实验仪器PC、jdk、jcreator专业_______ _________班级/学号________ ___学生姓名_______ __________实验日期实验地点成绩_______________________指导教师_____李春强_____________return p;}int getPower(int q){return q;}}Lab2_2:public class TV {void play(){System.out.println("正在播放动物世界");}}public class Family {TV homeTV;void buyTV(TV tv){tv=this.homeTV;System.out.println("购买一台电视");}}public class MainClass {public static void main(String args[]){ TV haierTV=new TV();Family zhangsanFamily =new Family();zhangsanFamily.buyTV(haierTV);haierTV.play();}}Lab2_3:public class Land {public static void main(String args[]){ Village.WaterAmount=200;System.out.println("水井中有水"+Village.WaterAmount+"升");Village v1=new Village();Village v2=new Village();int m=50;System.out.println("v1从水井中取水"+m+"升");v1.WaterAmount-=m;System.out.println("v2发现水井中有水"+Village.WaterAmount+"升");System.out.println("v2从水井中取水"+m+"升");v2.WaterAmount-=m;System.out.println("v1发现水井中有水"+Village.WaterAmount+"升");}}public class Village {public static int WaterAmount;}Lab2_4:import wukong.xiyou.*;public class SunRise{public static void main(String args[]){SquraEquation sq=new SquraEquation();sq.getRoot(100);System.out.println("此数的平方根为"+"sq.getRoot()");}}package java.wukong.xiyou;public class SquraEquation{public double getRoot(double num){ return Math.sqrt(num);}}1.实验名称、实验目的、实验内容、实验要求由教师确定,实验前由教师事先填好,然后作为实验报告模版供学生使用;2.实验准备由学生在实验或上机之前填写,教师应该在实验前检查;3.实验过程由学生记录实验的过程,包括操作过程、遇到哪些问题以及如何解决等;4.实验总结由学生在实验后填写,总结本次实验的收获、未解决的问题以及体会和建议等;5.源程序、代码、具体语句等,若表格空间不足时可作为附录另外附页。

java实验报告(二)

java实验报告(二)

实验报告(二)姓名:学号:日期:2015.4.10实验名称:面向对象编程一、实验目的及要求实验目的:通过编程和上机实验理解Java语言是如何体现面向对象编程基本思想,熟悉类的封装方法以及如何创建类和对象,熟悉成员变量和成员方法的特性,熟悉类的继承性和多态性的作用,熟悉包、接口的使用方法,掌握OOP方式进行程序设计的方法。

实验要求:1、编写程序实现类的定义和使用。

2、编写不同成员和不同成员方法修饰方法的程序。

3、编写体现类的继承性(成员变量、成员方法、成员变量隐藏)的程序和多态性(成员方法重载、构造方法重载)的程序。

4、编写接口的定义和使用的程序。

5、编写包的定义和使用的程序。

二、实验环境Windows XP操作系统,JA V A运行环境实验感想1. java编辑环境中蓝色的是关键字,绿色的是注释,红色的是系统已经定义的包、类或变量; 学习一门语言应该经常性的上机练习,而不是一段时间集中练习几个小时;2. 参数间应该以','隔开;3.java中规定必须要写返回值类型,即Java没有规定方法的默认返回值类型;4. java区分大小写;5. 用户标识第一个字符不应该为数字,Java文件名应该与Java文件内的主类保持一致;6.类只能使用静态方法,对象既可以使用静态方法又可以使用实例方法;静态变量是属于类的,为所有对象共同拥有,实例变量则属于各个对象本身;7.子类的构造方法应通过super()的方式调用父类构造方法;8.在一个类中,方法名可以重名,只要参数不一样就可以了,但变量即使类型不一样,变量名也不能一样;9.在java中,变量必须先要初始化后才能使用;三、实验源程序及运行结果1、(1)定义一个满足如下要求的Date类:a.用下面的格式输出日期:日/月/年b.可运行在日期上加一天操作c.设置日期并用该类编写一个显示当前日期的程序。

class Date1{int date,month,year;public void ShowDate()//以固定格式显示日期{System.out.println(date+"/"+month+"/"+year);}public void AddDate()//在目前日期下加一天{date=date+1;switch(month){ case 1:case 3:case 5:case 7:case 8:case 10:if(date>31){date=date-31;month=month+1;}break;case 12:if(date>31)//当月份为12月31号时,日期加1,年份也应该加1{date=date-31;month=1;year=year+1;}break;case 2: if(this.IsLeapYear())//以是否为闰年为依据进行处理{if(date>29){date=date-29;month=month+1;}}else{if(date>28){date=date-28;month=month+1;}}break;case 4:case 6:case 9:case 11:if(date>31){date=date-31;month=month+1;}break;default:}}public void SetDate(int date,int month,int year)//设置日期{this.date=date;this.month=month;this.year=year;}public Date1(int date,int month,int year)//构造方法{this.date=date;this.month=month;this.year=year;}public boolean IsLeapYear()//判断是否为闰年{boolean x=year%400==0||year%100!=0&&year%4==0;return x;}}public class Test11{public static void main(String args[])//Java文件内的主类只能有一个{Date1 a=new Date1(28,2,2100);System.out.print("目前日期为:");a.ShowDate();a.AddDate();System.out.print("加完一天后的日期为:");a.ShowDate();}}1、(2)创建一个桌子Table类,该类中有桌子名称、重量、桌面宽度、长度及桌子高度属性。

java实验报告 2

java实验报告 2

实验报告课程:Java 编程技术班级:网络1203班学号:姓名:实验4 面向对象编程一、实验目的通过编程和上机实验理解Java 语言是如何体现面向对象编程基本思想,了解类的封装方法,以及如何创建类和对象,了解成员变量和成员方法的特性,掌握OOP 方式进行程序设计的方法,了解类的继承性和多态性的作用。

二、实验内容1.创建一个名为Dog的类,它具有重载的bark()方法。

bark()方法应根据不同的基本数据类型的参数来进行重载,bark()方法可根据参数输出狗吠(barking)、咆哮(howling)等信息。

编写main()方法来调用不同的bark()方法。

源代码如下:public class Dog {void f(int m){System.out.println("barking!");}void f(double n){System.out.println("hoeling!");}public static void main(String[] args){Dog d=new Dog();d.f(2);d.f(2.2);}}运行界面如下:2.创建Rodent(啮齿动物)类,其子类有Mouse(老鼠)、Mole(鼹鼠)、Hamster(大颊鼠)。

在父类中,提供对所有的Rodent通用的方法。

在子类中,根据该子类特定的行为习性来覆盖这些方法。

例如老鼠属杂食(omnivorous),鼹鼠主食昆虫(insect),大颊鼠主食植物种子(plant seed)。

创建一个Rodent 数组,填充不同的数据类型,然后调用父类的方法,观察会发生什么情况。

源代码如下:public class Rodent {void eat(){System.out.println("zhushi");}public static void main(String[] args){Rodent r[]=new Rodent[4];Rodent rodent=new Rodent();Mouse mouse=new Mouse();Mole mole=new Mole();Hamster hamster=new Hamster();r[0]=rodent;r[1]=mouse;r[2]=mole;r[3]=hamster;r[0].eat();r[1].eat();r[2].eat();r[3].eat();}}class Mouse extends Rodent{void eat(){System.out.println("omniovrous!");}}class Mole extends Rodent{void eat(){System.out.println("insect!");}}class Hamster extends Rodent{void eat(){System.out.println("plant seed!");}}运行界面如下:3.3.修改上述第9题中的Rodent类,使其成为一个抽象类。

JAVA实验报告 (2)

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首页/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开发环境单击【开始】|【运行】命令打开【运行】对话框。

JAVA实验报告(2)

JAVA实验报告(2)

实验报告一、实验目的巩固复习课上所讲内容,进一步熟悉面向对象编程。

二、实验内容编写一个Shape类及其子类,它们代表一些基本的图形,定义一个常量PI。

给出能描述这些图形所必须的属性及必要的方法,包括:Shape类中定义一个求面积和一个求周长的方法,在子类里面重写这两个方法。

三、程序清单及运行结果package homework;public abstract class Shape{String lineColor,fillColor;double pi=3.14;public abstract float calCirum();public abstract float calSquare();public Shape(String lc,String fc){lineColor=lc;fillColor=fc;}public void print(){System.out.println("Linecoler is:"+lineColor+"\tFillcolor is:"+fillColor);}public static void main(String[]args){float radius=1.5f;MyCricle mc=new MyCricle(radius,"black","white");float rWidth=1.0f;float rLong=2.0f;MyRectangle mr=new MyRectangle(rLong,rWidth,"red","blue");System.out.println("显示圆的信息:");System.out.println("圆的周长为:"+mc.calCirum());System.out.println("圆的面积为:"+mc.calSquare());mc.print();System.out.println("矩形的信息:");System.out.println("矩形的周长为:"+mr.calCirum());System.out.println("矩形的面积为:"+mr.calSquare());mr.print();}}class MyCricle extends Shape{float radius;public MyCricle(float radius,String lc,String fc){super(lc,fc);this.radius=radius;}public float calCirum(){return((float)(radius*pi*2));}public float calSquare(){return((float)(radius*radius*pi));}}class MyRectangle extends Shape{float rLong,rWidth;public MyRectangle(float rLong,float rWidth,String lc,String fc){super(lc,fc);this.rLong=rLong;this.rWidth=rWidth;}public float calCirum(){return ((float)(this.rLong+this.rWidth)*2);}public float calSquare(){return ((float)(this.rLong*this.rWidth));}}运行结果:显示圆的信息:圆的周长为:9.42圆的面积为:7.065Linecolor is:black Fillcolor is:white矩形的信息:矩形的周长为:6.0矩形的面积为:2.0Linecolor is:red Fillcoler is:blue四、实验中出现的问题及解决方法问题1:将MyCricle和MyRectangle两个子类和主函数一起写在父类里面,导致整个程序结构混乱,可读性差。

java实验二试验报告

java实验二试验报告

姓名学号:班级:说明:实验2(类的继承,与接口的实现)1. 编一程序,求两个正整数m、n的最大公约数。

要求程序中有两个方法,分别使用循环和递归,最后在主方法中两次求解并输出最大公约数。

截图:代码:public class gcd {public static void main(String[] args) {int a = 6, b = 9;System.out.printf("two nums:%d %d\n", a, b);System.out.println("递归: " + gcd1(a, b));System.out.println("辗转相除: " + gcd2(a, b));}public static int gcd1(int m, int n){return m % n == 0 ? n : gcd1(n, m%n);}public static int gcd2(int m, int n){while(n != 0){int t = m;m = n;n = t % n;}return m;}}2. 使用类编写程序(在程序中定义类,然后在主方法中创建类的对象,并调用该类中的方法,观察所得结果。

)截图:代码:public class Date {public static void main(String[] args) {Date d = new Date();System.out.println(d);d.setYear(2011);d.setMonth(10);d.setDay(3);System.out.println(d);}public Date(){}public Date(int y, int m, int d){year = y; month = m; day = d;}public void setYear(int new_year){ this.year = new_year;} public void setMonth(int m){ this.month = m; }public void setDay(int d){ this.day = d; }public String toString(){return new String("" + year + "/" + month + "/" + day);}public int year = 2000, month = 1, day = 1;}3. 编写一个包含圆类的程序,并为圆类设计几个构造方法,编译并运行它。

java实验2实验报告

java实验2实验报告

reader=new Scanner(System.in); standard=reader.nextLine(); }while(!"no".equals(standard)); } } 四、运行结果与测试分析 1.程序分析: 首先,在 TestException 这个类中除了 main 方法和一个无参数构造函数之外,还有另外 3 个方法:testEx()、testEx1()和 testEx2()。它们的返回值都是布尔型,且都可能抛出异 常。程序从 main 方法开始执行,首先创建了一个 TestException 类的对象 testException1, 然后进入 try 语句块,用对象 testException1 调用函数 testEx,程序开始执行 testEx 函 数的函数体。在函数 testEx 的 try 块中调用了函数 testEx1,于是又转向执行 testEx1 的 函数体,但在它的 try 块中又调用了 testEx2(),于是程序转向执行 testEx2 的函数体。 在 testEx2 的 try 块中的 for 循环中,前两次循环正常执行,分别输出 i=2 和 i=1,但第 三次循环时出错(出现了除数 i 为 0 的情况),抛出异常并被本函数中的 catch 语句捕获, 输出“testEx2,catch exception”,把 ret 的值赋成 false,并抛出原异常,但在离开本 函数之前还要执行 finally 中的语句,于是输出“testEx2,finally; return value=false” 并返回 ret 的值 false,由于 finally 语句中使用了 return 语句,所以导致异常丢失,接 着程序返回 testEx2 的调用者 testEx1 中,由于 testEx2 的返回值为 false,故 testEx1 中的 ret 为 false,if 语句条件为真,返回 false,但在离开 testEx1 之前,要执行 finally 中的语句,于是输出“testEx1,finally; return value=false”并返回 ret 的值 false (由于 finally 语句中使用了 return 语句,所以 try 区域中 return 语句的返回值被覆盖)。 流程转到 testEx 中,由于 testEx1 返回 false,故 testEx 中的 ret 为 false,接着执行 finally 中的语句,输出“testEx,finally;return value=false”并返回 ret 的值 false。 接着流程返回到 main 函数中,程序正常结束。运行结果截图如下:

JAVA实验报告_2

JAVA实验报告_2

} } 实验三 1.实验要求: 使用 Java 编写控制台应用程序 用户从键盘输入月份,使用 switch 语句输出该月份的天数 如果输入月份为 2 月份,则程序提示让用户输入年份,再输出结果 import java.util.*; public class Experiment3_1 { public static void main(String args[]){ Scanner reader=new Scanner(System.in); int month,day,year; System.out.printf("请用户输入月份:"); month=reader.nextInt(); switch(month){ case 1: case 3: case 5: case 7: case 8: case 10: case 12:System.out.println("本月 31 天");break; case 4: case 6: case 9: case 11:System.out.println("本月 30 天");break; case 2: System.out.printf("请用户输入年份:"); year=reader.nextInt(); if(year%4==0&&year%100!=0||year%400==0){ System.out.printf("本月 29 天"); } else{ System.out.printf("本月 28 天"); } } } } 2.实验要求: 使用 Java 编写控制台应用程序 输出九九乘法表 public class Experiment3_2 { public static void main(String args[]){ for(int i=1;i<=9;i++){
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验项目名称:继承和多态
(所属课程: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("请输入三角形的第二条边:");
b = input.nextFloat();
System.out.print("请输入三角形的第三条边:");
c = input.nextFloat();
Triangle triangle = new Triangle(a,b,c);
System.out.println("三角形的面积为:"+triangle.area()+" 三角形圆的周长为:"+triangle.perimeter()+"\n"+triangle.toString());
}
}
class Shape{
private String color;
public Shape(){
}
public double area(){
return 0;
}
public double perimeter(){
return 0;
}
public void Setcolor(String color){
this.color = color;
}
}
class Circle extends Shape{
private float radius;
public Circle(float radius){
this.radius = radius;
}
public double area(){
return 3.14 * radius * radius;
}
public double perimeter(){
return 3.14 * 2 * radius;
}
public String toString(){
return super.toString() + "这是一个描述该对象的字符串";
}
}
class Rectangle extends Shape{
private float chang;
private float kuan;
public Rectangle(float chang,float kuan){
this.chang = chang;
this.kuan = kuan;
}
public double area(){
return chang * kuan;
}
public double perimeter(){
return (chang+kuan) * 2;
}
public String toString(){
return super.toString() + "这是一个描述该对象的字符串";
}
}
class Triangle extends Shape{
private float a;
private float b;
private float c;
public Triangle(float a,float b,float c){
this.a = a;
this.b = b;
this.c = c;
}
public double area(){
float s = (a+b+c)/2;
return Math.sqrt(s * (s-a) * (s-b) * (s-c));
}
public double perimeter(){
return a+b+c;
}
public String toString(){
return super.toString() + "这是一个描述该对象的字符串";
}
}
程序输出结果:
:
5.实验总结
(1)掌握了类的继承机制。

(2)熟悉了类中成员变量和方法的访问控制。

(3)熟悉了方法和构造方法多态性。

相关文档
最新文档