Java基础上机题 分类整理版
一、类和对象基础题(共13题)
3.编写一个Java应用程序,该程序中有3个类:Lader、Circle和主类A。具体要求如下:Lader类具有类型为double的上底、下底、高、面积属性,具有返回面积的功能,包括一个构造方法对上底、下底、高进行初始化。Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的功能,包括一个构造方法对半径进行初始化。主类A用来测试类Lader和类Circle的功能。
5.按要求编写Java应用程序:
(1)编写西游记人物类(XiY ouJiRenWu)
其中属性有:身高(height),名字(name),武器(weapon)
方法有:显示名字(printName),显示武器(printWeapon)
(2)在主类的main方法中创建二个对象:zhuBaJie,sunWuKong。并分别为他们的两个属性(name,weapon)赋值,最后分别调用printName, printWeapon方法显示二个对象的属性值。
9.编写Java应用程序。首先定义一个描述银行账户的Account类,包括成员变量“账号”和“存款余额”,成员方法有“存款”、“取款”和“余额查询”。其次,编写一个主类,在主类中测试Account类的功能。
10.编写Java应用程序。首先,定义一个时钟类——Clock,它包括三个int型成员变量分别表示时、分、秒,一个构造方法用于对三个成员变量(时、分、秒)进行初始化,还有一个成员方法show()用于显示时钟对象的时间。其次,再定义一个主类——TestClass,在主类的main方法中创建多个时钟类的对象,使用这些对象调用方法show()来显示时钟的时间。
15.编写Java应用程序。首先,定义描述学生的类——Student,包括学号(int)、姓名(String)、年龄(int)等属性;二个方法:Student(int stuNo,String name,int age) 用于对对象的初始化,outPut()用于输出学生信息。其次,再定义一个主类——TestClass,在主类的main方法中创建多个Student类的对象,使用这些对象来测试Student类的功能。
16.编写一个Java应用程序,该应用程序包括2个类:Print类和主类E。Print 类里有一个方法output()功能是输出100 ~ 999之间的所有水仙花数(各位数字的立方和等于这个三位数本身,如: 371 = 33 + 73 + 13。)在主类E的main方法中来测试类Print。
19.编写Java应用程序。首先,定义一个Print类,它有一个方法void output(int
x),如果x的值是1,在控制台打印出大写的英文字母表;如果x的值是2,在控制台打印出小写的英文字母表。其次,再定义一个主类——TestClass,在主类的main方法中创建Print类的对象,使用这个对象调用方法output ()来打印出大小写英文字母表。
31.按要求编写Java应用程序。
(1)建立一个名叫Cat的类:
属性:姓名、毛色、年龄
行为:显示姓名、喊叫
(2)编写主类:
创建一个对象猫,姓名为“妮妮”,毛色为“灰色”,年龄为2岁,在屏幕上输出该对象的毛色和年龄,让该对象调用显示姓名和喊叫两个方法。
32.创建一个三角形类,成员变量三边,方法求周长,创建类主类A来测试它。
33.按要求编写Java应用程序。
(1)创建一个叫做People的类:
属性:姓名、年龄、性别、身高
行为:说话、计算加法、改名
编写能为所有属性赋值的构造方法;
(2)创建主类:
创建一个对象:名叫“张三”,性别“男”,年龄18岁,身高1.80;
让该对象调用成员方法:
说出“你好!”
计算23+45的值
将名字改为“李四”
35.按要求编写Java应用程序。
(1)创建一个叫做机动车的类:
属性:车牌号(String),车速(int),载重量(double)
功能:加速(车速自增)、减速(车速自减)、修改车牌号,查询车的载重量。
编写两个构造方法:一个没有形参,在方法中将车牌号设置“XX1234”,速度设置为100,载重量设置为100;另一个能为对象的所有属性赋值;
(2)创建主类:
在主类中创建两个机动车对象。
创建第一个时调用无参数的构造方法,调用成员方法使其车牌为“辽
A9752”,并让其加速。
创建第二个时调用有参数的构造方法,使其车牌为“辽B5086”,车速为150, 载重为200,并让其减速。
输出两辆车的所有信息
36.创建一个Point类,有成员变量x,y,方法getX(),setX(),还有一个构造方法初始化x和y。创建类主类A来测试它。
43.首先,编写一个类ChongZai,该类中有3个重载的方法void print();其次,再编写一个主类来测试ChongZai类的功能。
二、数组相关(共4题)
20.已知2个一维数组:a[]={3,4,5,6,7},b[]={1,2,3,4,5,6,7};把数组a与数组b 对应的元素乘积再赋值给数组b,如:b[2]=a[2]*b[2];最后输出数组b的元素。
25.找出如下数组中最大的元素和最小的元素,
a[][]={{3,2,6},{6,8,2,10},{5},{12,3,23}}
37.按要求编写Java应用程序。
编写一个名为Test的主类,类中只有一个主方法;
在主方法中定义一个大小为50的一维整型数组,数组名为x,数组中存放着{1,3,5,…,99}输出这个数组中的所有元素,每输出十个换一行;在主方法中定义一个大小为10*10的二维字符型数组,数组名为y,正反对角线上存的是…*?,其余位置存的是…#?;输出这个数组中的所有元素。
42.从键盘上输入一个正整数n,请按照以下五行杨辉三角形的显示方式,
输出杨辉三角形的前n行。请采用循环控制语句来实现。
(三角形腰上的数为1,其他位置的数为其上一行相邻两个数之和。)
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
三、继承相关(共13题)
1.实现如下类之间的继承关系,并编写Music类来测试这些类。
8.创建如下三个类:(People类中的三个方法分别输出一些信息,ChinaPeople 和AmericanPeople类重写父类的三个方法)。
12.编写一个Java应用程序,该程序包括3个类:A类、B类和主类E。其中类B是类A的子类,在子类B中新增了成员变量和成员方法,并且隐藏了父类A的成员变量和重写了父类A的成员方法。在主类E的main方法中,创建类B 的对象并赋给父类A的对象a,使用上转型对象a来测试上转型对象的一些特性。
13.编写一个Java应用程序,该程序包括3个类:Monkey类、People类和主类E。要求:
(1) Monkey类中有个构造方法:Monkey (String s),并且有个public void speak() 方法,在speak方法中输出“咿咿呀呀......”的信息。
(2)People类是Monkey类的子类,在People类中重写方法speak(),在speak方法中输出“小样的,不错嘛!会说话了!”的信息。
(3)在People类中新增方法void think(),在think方法中输出“别说话!认真思考!”的信息。
(4)在主类E的main方法中创建Monkey与People类的对象类测试这2个类的功能。
14.编写一个类A,该类创建的对象可以调用方法f输出小写的英文字母表。然后再编写一个A类的子类B,要求子类B必须继承类A的方法f(不允许重写),子类B创建的对象不仅可以调用方法f输出小写的英文字母表,而且可以调用子类新增的方法g输出大写的英文字母表。最后编写主类C,在主类的main方法中测试类A与类B。
17.实现一个名为Person的类和它的子类Employee,Employee有两个子类Faculty
和Staff。
具体要求如下:
(1)Person类中的属性有:姓名name(String类型),地址address(String类型),电话号码telphone(String类型)和电子邮件地址email(String类型);
(2)Employee类中的属性有:办公室office(String类型),工资wage(double 类型),受雇日期hiredate(String类型);
(3)Faculty类中的属性有:学位degree(String类型),级别level(String类型);(4)Staff类中的属性有:职务称号duty(String类型)。
22.编写一个Car类,具有final类型的属性品牌,具有功能drive;
定义其子类Aodi和Benchi,具有属性:价格、型号;具有功能:变速;
定义主类E,在其main方法中分别创建Aodi和Benchi的对象并测试对象的特性。
27.按要求编写一个Java应用程序:
(1)编写一个矩形类Rect,包含:
两个protected属性:矩形的宽width;矩形的高height。
两个构造方法:
1.一个带有两个参数的构造方法,用于将width和height属性初化;
2.一个不带参数的构造方法,将矩形初始化为宽和高都为10。
两个方法:
求矩形面积的方法area()
求矩形周长的方法perimeter()
(2)通过继承Rect类编写一个具有确定位置的矩形类PlainRect,其确定位置用矩形的左上角坐标来标识,包含:
添加两个属性:矩形左上角坐标startX和startY。
两个构造方法:
带4个参数的构造方法,用于对startX、startY、width和height属性
初始化;
不带参数的构造方法,将矩形初始化为左上角坐标、长和宽都为0
的矩形;
添加一个方法:
判断某个点是否在矩形内部的方法isInside(double x,double y)。如在矩形内,返回true, 否则,返回false。
提示:点在矩形类是指满足条件:
x>=startX&&x<=(startX+width)&&y
创建一个左上角坐标为(10,10),长为20,宽为10的矩形对象;
计算并打印输出矩形的面积和周长;
判断点(25.5,13)是否在矩形内,并打印输出相关信息。
29.定义类Human,具有若干属性和功能;定义其子类Man、Woman;
在主类Test中分别创建子类、父类和上转型对象,并测试其特性。
30.编写一个Animal类,具有属性:种类;具有功能:吃、睡。定义其子类Fish 和Dog,定义主类E,在其main方法中分别创建其对象并测试对象的特性。
38.按要求编写一个Java应用程序:
(1)定义一个类,描述一个矩形,包含有长、宽两种属性,和计算面积方法。(2)编写一个类,继承自矩形类,同时该类描述长方体,具有长、宽、高属性,和计算体积的方法。
(3)编写一个测试类,对以上两个类进行测试,创建一个长方体,定义其长、宽、高,输出其底面积和体积。
39.编写一个Java应用程序,设计一个汽车类V ehicle,包含的属性有车轮个数wheels和车重weight。小车类Car是V ehicle的子类,其中包含的属性有载人数loader。卡车类Truck是Car类的子类,其中包含的属性有载重量payload。每个类都有构造方法和输出相关数据的方法。最后,写一个测试类来测试这些类的功能。
41.编写一个Shape类,具有属性:周长和面积;
定义其子类三角形和矩形,分别具有求周长的方法。
定义主类E,在其main方法中创建三角形和矩形类的对象,
并赋给Shape类的对象a、b,使用对象a、b来测试其特性。
四、包和访问权限(共5题)
2.按要求编写Java应用程序:
①创建项目testpackage
在该项目下创建包pack1和包pack2
在pack1下创建类A和类B
在pack2下创建类B和类C
在pack1.B的main方法中创建一个类A的对象a
在pack2.C的main方法中创建一个类A的对象a
②在pack2.B中添加方法f如下:
public void f(){
System.out.println("执行pack2包中的类B的方法f");
}
在pack2.C中创建pack2.B的对象b,并调用方法f
③在类A中添加如下三个成员变量:
int型的私有变量i
float型的变量f
double型的公有变量d
在pack1.B的main方法中为对象a的成员变量f和d分别赋值为2和3
在pack2.C的main方法中为对象a的成员变量d赋值为3
11.新建2个包:a和b;在包a中新建一个类A,在类A中编写2个方法:一个方法求2个正整数的最大公约数,一个方法求2个正整数的最小公倍数;在包b中新建一个主类B,在类B的main方法中调用类A中的2个方法进行求2个正整数的最大公约数和最小公倍数。
18.在包a中编写一个类Father,具有属性:年龄(私有)、姓名(公有);
具有功能:工作(公有)、开车(公有)。
在包a中编写一个子类Son,具有属性:年龄(受保护的)、姓名;
具有功能:玩(私有)、学习(公有)。
最后在包b中编写主类Test,在主类的main方法中测试类Father与类Son。
24.在包a中新建一个类A,在类A中有一个int add(int m)方法,用来求1+2+…+m 的和。在包b中新建一个类B,在类B中有一个int cheng(int n)方法,用来求n! 的结果。在包c中新建一个主类C,调用A、B中的方法输出1+2+…+30的和,以及10!的计算结果。
28.定义类B的超类A属于包c,再创建类B属于另外一个包d。类A中包含一个方法run,类B重写类A的方法run,最后在类B的main方法中分别创建A 类和B类的对象a和b,调用run方法。
五、接口(共7题)
4.编写2个接口:InterfaceA和InterfaceB;在接口InterfaceA中有个方法void printCapitalLetter();在接口InterfaceB中有个方法void printLowercaseLetter();然后写一个类Print实现接口InterfaceA和InterfaceB,要求printCapitalLetter()方法实现输出大写英文字母表的功能,printLowercaseLetter()方法实现输出小写英文
字母表的功能。再写一个主类E,在主类E的main方法中创建Print的对象并赋值给InterfaceA的变量a,对象a调用printCapitalLetter方法;最后再在主类E 的main方法中创建Print的对象并赋值给InterfaceB的变量b,对象b调用printLowercaseLetter方法。
6.按要求编写Java程序:
(1)编写一个接口:InterfaceA,只含有一个方法int method(int n);
(2)编写一个类:ClassA来实现接口InterfaceA,实现int method(int n)接口方法时,要求计算1到n的和;
(3)编写另一个类:ClassB来实现接口InterfaceA,实现int method(int n)接口方法时,要求计算n的阶乘(n!);
(4)编写测试类E,在测试类E的main方法中使用接口回调的形式来测试实现接口的类。
7.中国特色社会主义的体制中有这样的现象:地方省政府要坚持党的领导和按照国务院的指示进行安全生产。请编写一个java应用程序描述上述的体制现象。要求如下:
(1)该应用程序中有一个“党中央”接口:CentralPartyCommittee,该接口中有个“坚持党的领导”方法:void partyLeader()
(2)该应用程序中有一个“国务院”抽象类:StateCouncil,该抽象类中有个“安全生产”的抽象方法:abstract void safetyInProduction()
(3)该应用程序中有一个“省政府”类:Province,该类继承StateCouncil抽象类并且实现CentralPartyCommittee接口;在实现partyLeader()方法时输出“我们各省人民一定坚持党的领导!”;在重写safetyInProduction()方法时输出“我们各省人民一定按照国务院的指示进行安全生产!”。
(4)该应用程序中有一个主类E,在主类E的main方法中创建Province类的对象,来测试Province类的功能。
21.定义一个交通工具收费接口,然后定义列车类来实现这个接口。收费规则自己定义,并输出收费结果。
23.看下图实现如下接口和类,并完成Adventure中的主方法。
26.利用接口做参数,写个计算器,能完成+-*/运算
(1)定义一个接口Compute含有一个方法int computer(int n,int m);
(2)设计四个类分别实现此接口,完成+-*/运算
(3)设计一个类UseCompute,含有方法:
public void useCom(Compute com, int one, int two)
此方法要求能够:1.用传递过来的对象调用computer方法完成运算
2.输出运算的结果
(4)设计一个测试类,调用UseCompute中的方法useCom来完成+-*/运算
40.按要求编写一个Java应用程序程序:
(1)定义一个接口CanFly,描述会飞的方法public void fly();
(2)分别定义类飞机和鸟,实现CanFly接口。
(3)定义一个测试类,测试飞机和鸟,在main方法中创建飞机对象和鸟对象,再定义一个makeFly()方法,其中让会飞的事物飞。并在main方法中调用该方法,让飞机和鸟起飞。
六、异常
34.编写一个异常类MyException,再编写一个类Student,该类有一个产生异常的方法public void speak(int m) throws MyException,要求参数m的值大于1000 时,方法抛出一个MyException对象。最后编写主类,在主类的main方法中用Student创建一个对象s,该对象调用speak方法。
最新javaweb学习课程总结
总结一:javaweb课程总结刚开始学的时候,感觉这两门课程好高大上的样子,因为自从学软件工程这个专业以来,一直都是学的理论性、框架性的东西,就没有接触到编程的实质性的部分,终于开始学编程了,感觉蛮兴奋的,也是精神饱满,信心十足,怀着一腔热血来听课。 由于JAVAWEB和JSP两门课是同时上的,而且每次都是一整上午,上课时间很长,老师一直有条不紊的讲着,虽然时间很长,但是每当大家上完课,心中都是有一种充实的感觉,大家都觉得有所收获,所以也就不曾觉得累了。 JAVAWEB这门课让我认识了以前见所未见闻所未闻的专业术语,Web应用程序的概述。我从中了解到Web应用程序的三层体系结构:表示层、业务层、数据存取层。从而想到了学数据库设计时的数据库设计三大范式,它们同是叙述在编写代码时应做的规划和应遵循的规则,这种规划在以后的学习中时有出现,说明编程并不是一味地进行循环判断、死记硬背,而需要在技术上有所加强、在效率上有所提高。做任何事都是如此,事先必须有目标、有计划,有统筹,这样执行时才不会盲目,才不会事倍功半。学习编程对综合能力都是一种培养。 接下来是JSP知识。要学JSP,就必须会HTML,如果HTML学不通,这对以后的学习都是一个瓶颈。基础一定要打扎实,吃透,否则上层建筑的建起就不会很顺利甚至没法起步。然后是JavaBean。以下是个人对JavaBean的一点学习体会。JavaBean里有set()和get()方法,用这些方法能很容易地传值,逻辑上更标准,代码看起来也更规范。但set()和get()方法只是用来对属性进行操作的,所以如果是进行复杂的逻辑或对数据库进行操作等,那么就不要写成set()和get()方法,只用一个有返回值的方法就足以。这样直观方便,且符合规范。总之,set()和get()方法不要没有效率地滥定义。 接着是Servlet。Servlet是一个用Java编写的应用程序,在服务器上运行,用来处理请求和响应,也可以单独做为一个Web页面。然后讲的是标签,包括自定义标签和JSP标准标签库。用一般的Java代码都几乎能实现它们的功能。它们的好处是提高了代码的重用性。 我们需要配置的坏境有JDK,Tomcat,还要用到Myeclips这一基础的编程工具。在学习JSP之前,由于没有网页编程的基础,便学习了HTML这种文本标记语言,自己试着去做简单的静态网站。后来学做JSP动态网站时,就涉及到了多方面的知识,JSP内部对象及内部对象所涉及的方法,JSP与数据库连接,如何去引用数据库。这门课更是巩固了JAVA 这一基础编程语言,要求对JAVA掌握的要透彻,每门语言要学扎实,深入理解,都要花费很大的功夫,不是容易的事情。 Jsp与servlet有一定的区别,Servlet可以看作是HTML的Java代码,而JSP可看作是包含Java代码的HTML。共同点:JSP和Servlet实际上是一回事。JSP页面最终要转换成Servlet,并进行编译,在请求期间执行的实际上是编译后的Servlet。因此,JSP页面不过是编写Servlet的另一种方式。各自应用的范围:Servlet比较适合于做处理任务,如做业务逻辑;JSP适合于表示任务,如网页制作,生成动态网页。 对JAVAWEB和JSP课程的知识就简单介绍到这里,本学期的这两门课程让我对软件工程这门课有了一个全新的认识,我真切的学到了能用的东西,大学里的很多课是浪费时间,而
JAVA笔试题答案在最后
测试题(笔试)Java 面向对象重庆足下科技有限公司
不定项选择题(40题,每题2.5分,总分100分,测试时间2小时) 1) 当试图编译并运行下面程序时会出现什么结果()(单选) class A{ public int getNumber(int a){ return a+1; } } class B extends A{ public int getNumber(int a, char c){ return a+2; } public static void main(String[] args){ B b=new B(); System.out.println(b.getNumber(0)); } } a) 编译错误 b) 运行错误 c) 1 d) 2 2) 当编译并运行下面程序时会出现什么结果( )(单选) public class MyAr{ public static void main(String argv[]){ int[] i = new int[5]; System.out.println(i[5]); } } a) 编译错误 b) 运行错误 c) 输出0 d) 输出“null” 3) final、finally、finalize三个关键字的区别是()(多选) a) final是修饰符(关键字)可以修饰类、方法、变量 b) finally在异常处理的时候使用,提供finally块来执行任何清除操作 c) finalize是方法名,在垃圾收入集器将对象从内存中清除出去之前做 必要的清理工作 d) finally和finalize一样都是用异常处理的方法
JavaWeb期末总结
第一章Web开发基础知识(简单描述)表单(续) 表单元素