java实验报告_第1页
java实验报告_第2页
java实验报告_第3页
java实验报告_第4页
java实验报告_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验一 通用万年历给定某年某月某日是星期几,能给出任何一年(12月)的输出。输出效果如下:月月月实现方法:定位光标法:以月为单位,先计算出该月在屏幕上显示的起始点,利用定位光标用循环来输出该月的信息。该方法非常简单。非定位光标法:月月月该方法以行为单位,输出各个月的相应行的数据。控制过程比较复杂,要求把每月需控制的参数用结构体定义。结构体中的属性大致包含:每月天数、一号周几、数据的高度、开始输出的控制参数;二、实验内容:import java.util.Calendar;class CldString day;int year=2008,month=0;void setDemo(int yea

2、r,int month)this.year=year;this.month=month;public String getCalendar()Stringa=new String42;Calendar 日历=Calendar.getInstance();日历.set(year,month-1,1);int 星期几=日历.get(Calendar.DAY_OF_WEEK)-1;int day=0;if(month=1|month=3|month=5|month=7|month=9|month=10|month=12)day=31;if(month=4|month=6|month=8|month=

3、11)day=30;if(month=2)if(year%4=0)&(year%100!=0)|(year%400=0)day=29;else day=28;for(int i=0;i星期几;i+)ai=;for(int i=星期几,n=1;i星期几+day;i+)ai=String.valueOf(n);n+;for(int i=星期几+day;ia.length;i+)ai=;return a;class testpublic static void main(String args)Cld cld=new Cld();cld.setDemo(2012,8);String a=cld.ge

4、tCalendar();char str= 日 一 二 三 四 五 六 .toCharArray();for(char c:str)System.out.printf(%3c, c);for(int i=0;ia.length;i+)if(i%7=0)System.out.println();System.out.printf(%4s,ai);java实验二、类与对象一、实验目的1. 掌握类的声明;2. 掌握对象的创建;3. 掌握方法的定义和调用;4. 掌握构造方法执行机理和使用;5. 掌握private、public等修饰符;6. 掌握this的各种用法。二、实验内容1 编程创建一个Box类

5、,在其中定义三个变量表示一个立方体的长、宽和高,再定义一个方法setDemo对这三个变量进行初始化,然后定义一个方法求立方体的体积。创建一个对象,求给定尺寸的立方体的体积。Class Boxfloat height;float width;float lenght;void setDemo(float height,float width,float lenght)this.height=height;this.width=width;this.lenght=lenght;float method()return height*width*lenght;public class test/*

6、* param args */public static void main(String args) / TODO Auto-generated method stubBox box=new Box();box.setDemo(15,10,12);System.out.println(box.method();2 将上题的方法setDemo改用构造函数实现初始化。Box(float weight,float height,float length)This.weight=weight;This.height=height;This.length=length;三、思考题1 一个方法或一个块内

7、定义的变量是否可以在方法外或块外使用?这种变量称为什么?方法的形式参数是否可以在方法之外使用?答:方法和块中定义的变量不可以在方法以外的方法或者块中使用,这种变量叫局部变量,方法的形式参数不可以在方法之外使用!2 为什么说构造函数是一种特殊的方法?特殊在哪里?构造函数什么时候执行?被谁调用?构造方法没有类型,名字跟类的方法一样,构造函数在主函数中被类创建的对象调用!3 编程创建一个Point类,在其中定义两个变量表示一个点的坐标值,再定义构造函数初始化为坐标原点,然后定义一个方法实现点的移动,再定义一个方法打印当前点的坐标。并创建一个对象验证。class pointint x,y;point(

8、)x=0;y=0;void method(int a,int b)this.x+=a;this.y+=b;int getpointx()return x;int getpointy()return y;public class test /* * param args */public static void main(String args) / TODO Auto-generated method stubpoint p=new point();System.out.println(x:+p.getpointx();System.out.println(y:+p.getpointy();p

9、.method(2,2);System.out.println(x:+p.getpointx();System.out.println(y:+p.getpointy();结果输出:X:0Y:0X:2Y:24 定义一个类实现银行帐户的概念,包括的变量有帐号和存款余额,包括的方法有存款、取款和查询余额。定义主类,创建帐户类的对象,并完成相应操作。实验内容:import java.util.Scanner;class testint x=100000;int a,b,number;void setDemo(int x)this.x=x;void password(int number)this.nu

10、mber=number;void store(int a)this.x+=a;void drawMoney(int b)this.x-=b;int get()return x;public class account /* * param args */int a=new int3;public static void main(String args) / TODO Auto-generated method stubScanner reader=new Scanner(System.in);test test=new test();while(true)System.out.println

11、(请输入您的账号:);int number=reader.nextInt();test.password(number);System.out.println(请输入你的选择:0-查询余额 1-存款 2-取款);int i=reader.nextInt();if(i=1)System.out.println(请输入存款金额:);int a=reader.nextInt();test.store(a);System.out.println(存款后总的金额:+test.get();else if(i=2)System.out.println(请输入取款金额:);int b=reader.nextI

12、nt();test.drawMoney(b);System.out.println(取款后剩余的金额:+test.get();if(i=0)System.out.println(账户现有金额为:+test.get();输出结果:(1)输出:请输入您的账号:输入:11210111(2)输出:请输入你的选择:0-查询余额 1-存款 2-取款输入:1时(3)输出:请输入存款金额:输入:(如)200(4)输出:存款后总的金额:100200;然后继续:(1)、(2)、(3)、(4)四、试验中遇到的问题:在思考题的第四个问的时候:while的位置不一样所以循环的内容不一样,先不论后来输入什么,都只能执行最

13、开始的输入的选择,不过改了之后就可以在控制台按自己的选择输入输出了!实验四类的继承一、实验目的7. 掌握(继承)类的声明;8. 掌握构造方法执行机理;9. 掌握private、protected、public等修饰符;10. 掌握super的各种用法; 11. 掌握重载;二、实验内容定义一个圆类Circle,成员变量:圆心,半径;成员方法:构造方法、get和set半径的方法、计算面积和周长的方法。定义圆柱和圆锥类,定义相应的变量成员和成员方法。使用以上类编程,输出圆柱和圆锥面积和体积。class geometrydouble pi=3.14;int r,r1,h,R,H;void setDem

14、o(int r,int r1,int h,int R,int H)this.r=r;this.r1=r1;this.h=h;this.R=R;this.H=H;double method1()return pi*r*r;double method2()return 2*pi*r;double method3()return pi*r1*r1*h;double method4()return pi*R*R*H/3;public class test /* * param args */public static void main(String args) / TODO Auto-generat

15、ed method stubgeometry g=new geometry();g.setDemo(5,4,6,9,4);System.out.println(g.method1();System.out.println(g.method2();System.out.println(g.method3();System.out.println(g.method4();三、思考题定义抽象类Shape表示一般二维图形。Shape具有抽象方法area和perimeter分别计算形状的面积和周长。试定义一些二维形状类(如矩形、三角形、圆形、椭圆形等),这些类均为Shape类的子类。完成相关类的定义后,

16、定义含有main方法的类来使用这些类的相应对象,输出相关信息:如对象所代表图形形状、基本数据(半径、长宽高等等)以及面积、周长等计算值。答:具体实验代码如下:实验五继承与多态一、实验目的12. 掌握抽象类的声明;13. 掌握多态的执行机理;14. 掌握上转型的使用;二、实验内容定义抽象类Shape,抽象方法为showArea(),求出面积并显示,定义矩形类Rectangle,正方形类Square,圆类 Circle,根据各自的属性,用showArea方法求出各自的面积,在main方法中根据随机数的值来调用3个对象中的showArea方法。三、随机数产生方法java.lang.Math .Ran

17、dom()静态方法Math.random()*1000);/产生0-1000的整数随机数 创建java.util.Random对象Random random=new Random();/创建random对象int intN0-0umber=random.nextI实验具体步骤:public abstract class shapeint r,a,b;abstract double showArea();void setDemo(int r,int a,int b)this.r=r;this.a=a;this.b=b;class circle extends shapedouble showAr

18、ea()double pi=3.14;return pi*r*r;class rectangle extends shapedouble showArea()return a*b;class testpublic static void main(String args)circle circle=new circle();rectangle rectangle=new rectangle();int r=(int)(Math.random()*1000);int a=(int)(Math.random()*1000);int b=(int)(Math.random()*1000);circl

19、e.setDemo(r, a, b);rectangle.setDemo(r,a,b);System.out.println(circle.showArea();System.out.println(rectangle.showArea();System.out.println(a+ +b+ +r+ );实验输出:假如随机产生的数是:144 617 344输出结果是:371575.0400000000488848.0实验过程中所遇到的问题:在abstract方法中定义了一个void setdemo(int r,int a,int b)的非抽象方法,所以在调用的时候如:circle.setdem

20、o(r,a,b),rectangle(r,a,b),所以在设置变量值得时候就设置了冗余的如(a,b)或者(r),怎样在不添加方法setdemo()的情况下改善这种情况?实验六接口与多态一、实验目的1. 学习如何定义接口2. 掌握接口的实现方式3. 使用实现了接口的类4. 掌握接口回调5. 理解接口与抽象类的区别二、实验内容本实验的任务是设计和实现一个Soundable接口,该接口具有发声功能,同时还能调节声音大小(playSound( )、decreaseVolume( )、stopSound( ))。Soundable接口的这些功能将会由3种声音设备来实现,它们分别是:Radio,Walkm

21、an和Mobilephone。最后还需设计一个应用程序类来使用这些实现了Soundable接口的声音设备。程序运行时,先询问用户想听哪知设备,然后程序按照该设备的工作方式来输出发音。程序运行效果如下:import java.util.Scanner;abstract class soundableabstract void playSound();abstract void decreaseVolume();abstract void stopSound();class Radio extends soundablevoid playSound()System.out.println(收音机播放广播:中央人民广播电台);void decreaseVolume()System.out.println(增大收音机音量);void stopSound()System.out.println(关闭收音机);class Walkman extends soundablevoid playSound()System.out.println(随身听发出音乐:1234567);void decreaseVo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论