当前位置:文档之家› Java基础上机题_分类整理版

Java基础上机题_分类整理版

Java基础上机题_分类整理版
Java基础上机题_分类整理版

一、类和对象基础题(共13题)

1.编写一个Java应用程序,该程序中有3个类:Lader、Circle和主类A。具体要求如下:Lader类具有类型为double的上底、下底、高、面积属性,具有返回面积的功能,包括一个构造方法对上底、下底、高进行初始化。Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的功能,包括一个构造方法对半径进行初始化。主类A用来测试类Lader和类Circle的功能。

2.按要求编写Java应用程序:

(1)编写西游记人物类(XiYouJiRenWu)

其中属性有:身高(height),名字(name),武器(weapon)

方法有:显示名字(printName),显示武器(printWeapon)

(2)在主类的main方法中创建二个对象:zhuBaJie,sunWuKong。并分别为他们的两个属性(name,weapon)赋值,最后分别调用printName, printWeapon方法显示二个对象的属性值。

3.编写Java应用程序。首先定义一个描述银行账户的Account类,包括成员变量“账号”和“存款余额”,成员方法有“存款”、“取款”和“余额查询”。其次,编写一个主类,在主类中测试Account类的功能。

4.编写Java应用程序。首先,定义一个时钟类——Clock,它包括三个int型

成员变量分别表示时、分、秒,一个构造方法用于对三个成员变量(时、分、秒)进行初始化,还有一个成员方法show()用于显示时钟对象的时间。其次,再定义一个主类——TestClass,在主类的main方法中创建多个时钟类的对象,使用这些对象调用方法show()来显示时钟的时间。

5.编写Java应用程序。首先,定义描述学生的类——Student,包括学号(int)、姓名(String)、年龄(int)等属性;二个方法:Student(int stuNo,String name,int age) 用于对对象的初始化,outPut()用于输出学生信息。其次,再定义一个主类——TestClass,在主类的main方法中创建多个Student类的对象,使用这些对象来测试Student类的功能。

6.编写一个Java应用程序,该应用程序包括2个类:Print类和主类E。Print 类里有一个方法output()功能是输出100 ~ 999之间的所有水仙花数(各位数字的立方和等于这个三位数本身,如: 371 = 33 + 73 + 13。)在主类E的main方法中来测试类Print。

7.编写Java应用程序。首先,定义一个Print类,它有一个方法void output(int

x),如果x的值是1,在控制台打印出大写的英文字母表;如果x的值是2,在控制台打印出小写的英文字母表。其次,再定义一个主类——TestClass,在主类的main方法中创建Print类的对象,使用这个对象调用方法output ()来打印出大小写英文字母表。

8.按要求编写Java应用程序。

(1)建立一个名叫Cat的类:

属性:姓名、毛色、年龄

行为:显示姓名、喊叫

(2)编写主类:

创建一个对象猫,姓名为“妮妮”,毛色为“灰色”,年龄为2岁,在屏幕上输出该对象的毛色和年龄,让该对象调用显示姓名和喊叫两个方法。

9.创建一个三角形类,成员变量三边,方法求周长,创建类主类A来测试它。

10.按要求编写Java应用程序。

(1)创建一个叫做People的类:

属性:姓名、年龄、性别、身高

行为:说话、计算加法、改名

编写能为所有属性赋值的构造方法;

(2)创建主类:

创建一个对象:名叫“张三”,性别“男”,年龄18岁,身高1.80;

让该对象调用成员方法:

说出“你好!”

计算23+45的值

将名字改为“李四”

11.按要求编写Java应用程序。

(1)创建一个叫做机动车的类:

属性:车牌号(String),车速(int),载重量(double)

功能:加速(车速自增)、减速(车速自减)、修改车牌号,查询车的载重量。

编写两个构造方法:一个没有形参,在方法中将车牌号设置“XX1234”,速度设置为100,载重量设置为100;另一个能为对象的所有属性赋值;

(2)创建主类:

在主类中创建两个机动车对象。

创建第一个时调用无参数的构造方法,调用成员方法使其车牌为“辽

A9752”,并让其加速。

创建第二个时调用有参数的构造方法,使其车牌为“辽B5086”,车速为150, 载重为200,并让其减速。

输出两辆车的所有信息

12.创建一个Point类,有成员变量x,y,方法getX(),setX(),还有一个构造方法初始化x和y。创建类主类A来测试它。

13.首先,编写一个类ChongZai,该类中有3个重载的方法void print();其次,再编写一个主类来测试ChongZai类的功能。

二、数组相关(共4题)

14.已知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的元素。

15.找出如下数组中最大的元素和最小的元素,

a[][]={{3,2,6},{6,8,2,10},{5},{12,3,23}}

16.按要求编写Java应用程序。

编写一个名为Test的主类,类中只有一个主方法;

在主方法中定义一个大小为50的一维整型数组,数组名为x,数组中存放着{1,3,5,…,99}输出这个数组中的所有元素,每输出十个换一行;在主方法中定义一个大小为10*10的二维字符型数组,数组名为y,正反对角线上存的是…*?,其余位置存的是…#?;输出这个数组中的所有元素。

17.从键盘上输入一个正整数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题)

18.实现如下类之间的继承关系,并编写Music类来测试这些类。

19.创建如下三个类:(People类中的三个方法分别输出一些信息,ChinaPeople 和AmericanPeople类重写父类的三个方法)。

20.编写一个Java应用程序,该程序包括3个类:A类、B类和主类E。其中类B是类A的子类,在子类B中新增了成员变量和成员方法,并且隐藏了父类A的成员变量和重写了父类A的成员方法。在主类E的main方法中,创建类B 的对象并赋给父类A的对象a,使用上转型对象a来测试上转型对象的一些特性。

21.编写一个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个类的功能。

22.编写一个类A,该类创建的对象可以调用方法f输出小写的英文字母表。然后再编写一个A类的子类B,要求子类B必须继承类A的方法f(不允许重写),子类B创建的对象不仅可以调用方法f输出小写的英文字母表,而且可以调用子类新增的方法g输出大写的英文字母表。最后编写主类C,在主类的main方法中测试类A与类B。

23.实现一个名为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类型)。

24.编写一个Car类,具有final类型的属性品牌,具有功能drive;

定义其子类Aodi和Benchi,具有属性:价格、型号;具有功能:变速;

定义主类E,在其main方法中分别创建Aodi和Benchi的对象并测试对象的特性。

25.按要求编写一个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=(startY-height) (3)编写PlainRect类的测试程序

创建一个左上角坐标为(10,10),长为20,宽为10的矩形对象;

计算并打印输出矩形的面积和周长;

判断点(25.5,13)是否在矩形内,并打印输出相关信息。

26.定义类Human,具有若干属性和功能;定义其子类Man、Woman;

在主类Test中分别创建子类、父类和上转型对象,并测试其特性。

27.编写一个Animal类,具有属性:种类;具有功能:吃、睡。定义其子类Fish 和Dog,定义主类E,在其main方法中分别创建其对象并测试对象的特性。

28.按要求编写一个Java应用程序:

(1)定义一个类,描述一个矩形,包含有长、宽两种属性,和计算面积方法。(2)编写一个类,继承自矩形类,同时该类描述长方体,具有长、宽、高属性,和计算体积的方法。

(3)编写一个测试类,对以上两个类进行测试,创建一个长方体,定义其长、宽、高,输出其底面积和体积。

29.编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数wheels和车重weight。小车类Car是Vehicle的子类,其中包含的属性有载人数loader。卡车类Truck是Car类的子类,其中包含的属性有载重量payload。每个类都有构造方法和输出相关数据的方法。最后,写一个测试类来测试这些类的功能。

30.编写一个Shape类,具有属性:周长和面积;

定义其子类三角形和矩形,分别具有求周长的方法。

定义主类E,在其main方法中创建三角形和矩形类的对象,

并赋给Shape类的对象a、b,使用对象a、b来测试其特性。

四、包和访问权限(共5题)

31.按要求编写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

32.在包a中编写一个类Father,具有属性:年龄(私有)、姓名(公有);

具有功能:工作(公有)、开车(公有)。

在包a中编写一个子类Son,具有属性:年龄(受保护的)、姓名;

具有功能:玩(私有)、学习(公有)。

最后在包b中编写主类Test,在主类的main方法中测试类Father与类Son。

33.在包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!的计算结果。

五、接口(共7题)

34.编写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方法。

35.按要求编写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方法中使用接口回调的形式来测试实现接口的类。

36.中国特色社会主义的体制中有这样的现象:地方省政府要坚持党的领导和按照国务院的指示进行安全生产。请编写一个java应用程序描述上述的体制现象。要求如下:

(1)该应用程序中有一个“党中央”接口:CentralPartyCommittee,该接口中有个“坚持党的领导”方法:void partyLeader()

(2)该应用程序中有一个“国务院”抽象类:StateCouncil,该抽象类中有个“安全生产”的抽象方法:abstract void safetyInProduction()

(3)该应用程序中有一个“省政府”类:Province,该类继承StateCouncil抽象类并且实现CentralPartyCommittee接口;在实现partyLeader()方法时输出“我们各省人民一定坚持党的领导!”;在重写safetyInProduction()方法时输出“我们各省人民一定按照国务院的指示进行安全生产!”。

(4)该应用程序中有一个主类E,在主类E的main方法中创建Province类的对象,来测试Province类的功能。

37.看下图实现如下接口和类,并完成Adventure中的主方法。

38.利用接口做参数,写个计算器,能完成+-*/运算

(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来完成+-*/运算

49.按要求编写一个Java应用程序程序:

(1)定义一个接口CanFly,描述会飞的方法public void fly();

(2)分别定义类飞机和鸟,实现CanFly接口。

(3)定义一个测试类,测试飞机和鸟,在main方法中创建飞机对象和鸟对象,再定义一个makeFly()方法,其中让会飞的事物飞。并在main方法中调用该方法,让飞机和鸟起飞。

40.定义一个“点”(Point)类用来表示三维空间中的点(有三个坐标)。要求如下:

(1)可以生成具有特定坐标的点对象。

(2)提供可以设置三个坐标的方法。

(3)提供可以计算该“点”距原点距离平方的方法。

(4)编写主类程序验证。

java第三章练习题

eh 第三章练习题 练习题 10.public class rain1 { public static void main(String[] args) { int y,x,z,j,t; j=kuku(3,-2,7); t=kuku(19,27,6); System.out.println(j); System.out.println(t); } public static int kuku(int x,int y,int z) { int c,b; c=Math.min(x,y); b=Math.min(c,z); return b; } } 13题 public class rain1 { public static void main(String[] args) { String a,b,t; String quote="Four Score and seven years ago"; a=quote.substring(5,10).toUpperCase(); b=quote.toLowerCase().substring(0,4)+quote.substring(20,26); System.out.println(a); System.out.println(b); } } 18题 import java.util.*;

public class rain1 { public static void main (String[] args){ System.out.print("请输入合法的整数值"); Scanner n =new Scanner(System.in); int t=n.nextInt(); int l; l=t*2; System.out.print("你输入的数值N*2倍后是"+l); } } 19题 import java.util.*; public class rain1 { public static void main (String[] args){ System.out.println("请输入你喜欢的语句"); Scanner n = new Scanner(System.in); String p=n.nextLine(); System.out.println("你希望重复几次"); Scanner y=new Scanner(System.in); int u=y.nextInt(); for(int k=1;k<=u;k++) { System.out.println(p); } } } 练习题 1题 import java.util.*; public class rain1 { public static void main (String[] args){ System.out.println("请输入整数值"); Scanner r=new Scanner(System.in); int t=r.nextInt(); System.out.println("请再输入一个整数值"); int u=r.nextInt(); kk(t,u);

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一样都是用异常处理的方法

Java上机练习题

Java 复习题 第一章 1、分别用Java应用程序和Java小程序编写程序:在屏幕上输出“Hello,欢迎来到精彩的 Java世界!”。 程序:①应用程序:HelloWorld1.java ②小程序:HelloWorld.java和A.htm Java 应用程序: 《HelloWorld1.java》 public class HelloWorld1{ public static void main(String[] args){ System.out.println("Hello,欢迎来到精彩的Java世界!"); } } Java 小程序: 《HelloWorld.java》 import java.applet.Applet; import java.awt.Graphics; public class HelloWorld extends Applet{ public void paint(Graphics g){ g.drawString("Hello,欢迎来到精彩的Java世界!",2,20); } } 《A.htm》 我的第一个JAVA Applet程序 第二章 1、26页案例3:TriangleArea.java(三角形面积) 编写一个java程序,已知三角形三边边长,求三角形面积。要求三条边长从控制台输入。其中4,3,6分别代表三角形的三条边。 《TriangleArea.java》 public class TriangleArea{ public static void main(String[] args){ double a=Double.parseDouble(args[0]); double b=Double.parseDouble(args[1]); double c=Double.parseDouble(args[2]); if(a+b<=c||a+c<=b||b+c<=a)

java第三章课后习题解答

第3章面向对象程序设计基础 【1】什么是Java程序使用的类?什么是类库? [解答]:Java程序的基本单位是类。对象是对事物的抽象,而类是对对象的抽象和归纳,找出事物的共性,把具有共同性质的事物归结为一类,得出一个抽象的概念——类。类是具有相同属性和方法的一组对象的集合,类是在对象之上的抽象,对象则是类的具体化,一旦建立类之后,就可用它来建立许多你需要的对象。 Java的类库是系统提供的已实现的标准类的集合,是Java编程的API(Application Program Interface),它可以帮助开发者方便、快捷地开发Java程序。# 【2】如何定义方法?在面向对象程序设计中方法有什么作用? [解答]:方法的定义由两部分组成:方法声明和方法体。方法声明的基本格式如下: 返回类型方法名(形式参数) { … //方法体内容 } 方法声明包括方法名、返回类型和形式参数,方法的小括号是方法的标志;方法体为实现方法行为的Java语句。 在面向对象程序设计中,方法所起的作用是完成对类和对象属性操作。 【3】简述构造方法的功能和特点。下面的程序片段是某学生为student类编写的构造方法,请指出其中的错误。 void Student(int no,String name) { studentNo=no; studentName=name; return no; } [解答]:构造方法是一个特殊的方法,主要用于初始化新创建的对象。构造方法的方法名要求与类名相同,用户不能直接调用,只能通过new运算符调用,而且构造方法是不返回任何数据类型,甚至也不返回void数据类型,即不能在构造方法前加void。 以上的代码段出错于:①构造方法Student()前不能加void ②不能用return语句 【4】定义一个表示学生的student类,包括的域有学号、姓名、性别、年龄,包括的方法有获得学号、姓名、性别、年龄及修改年龄。编写Java程序创建student类的对象及测试其方法的功能。 [解答]:程序代码段如下: class student{ private String id; private String name; private String sex; private int age;

java基础笔试测试题及答案

Java 一章至五章考试 一.填空题(8分) 1.面向对象的三大原则是(封装),(继承)和(多态).2 分 2.如果想在对象实例化的同时就初始化成员属性,则使用(构造函数).2 分 3.(实体)方法和(构造)方法不能修饰为abstract ?2分 选择题(60分) 1)在Java语言中,下列(a,d )是不满足命名规范的变量名。(选择二项) a) 姓名 b) $Name c) _in sta nceof d) in sta nceof 2) 下列Java代码片段的输出结果是(a )。 char c='a'; int i=c; float f=i; byte b=(byte)c; System.out.pri ntln( c+","+i+","+f+","+b); a) 编译错误 b) a,97,97,97 c) a,97,97.0,97 d) a,97,97.0f,97 3) 下列Java代码中,空白处的代码是(b,c )。(选择两项) public in terface Fee{ public float calLabFee(float unitPrice, float time); } public class FeeImpl impleme nts Fee { public float calLabFee(float unitPrice, float time){ retur n un itPrice * time; } } public class Fee In terfaceTest { public static void main( Stri ng[] args){ Float labFee = fee.calLabFee(400.00,5); } }

java笔试题及答案.doc

java笔试题及答案 有了下面java笔试题及答案,进行java笔试时就容易多了,请您对下文进行参考: 1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域当前类同一package子孙类其他package public 7 7 7 7 protected 7 7 7 X friendly 7 7 X X private 7 X X X 不写时默认为friendly 2、Anonymouslnner Class (匿名内部类)是否可以exte nd s (继承)其它类,是否可以imple ment s (实现)i nterf ace (接口) 答:匿名的内部类是没有名字的内部类。不能exte n ds (继承)其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、Sta ti cNestedC las s 和Inner Clas s 的不同答: Nes tedC lass (一般是C+ +的说法),In ne rClass (—般是JAVA的说法)。J ava内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。注:静态内部类(I

nn erClass)意味着1创建一个st atic内部类的对象,不需要一个外部类对象,2不能从一个st atic内部类的一个对象访问一个外部类对象 4、和的区别 答:是位运算符,表示按位与运算,是逻辑运算符,表示遷辑与(and ) 5、Coll ect ion 和Col lect ions 的区别 答:Coll ect ion是集合类的上级接口,继承与他的接口主要有Set和List. Col lections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 6、什么时候用assert 答:asserti on (断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,a ssertion 就是在程序中的一条语句,它对一个boolea n表 达式进行检查,一个正确程序必须保证这个bool ean表达 式的值为tr ue;如果该值为fal se,说明程序己经处于不正确的状态下,系统将给出警告或退出。一般来说,

java上机练习题

要求:代码规范,代码风格,思路正确,功能实现 1、设计一个能随机产生100个大写英文字母的方法,在该方法中统计产生了多少元音字母,并输出这个数字。 2、编写一个矩形类Rect,包含: 两个protected属性:矩形的宽width;矩形的高height。 两个构造器方法: (1)一个带有两个参数的构造器方法,用于将width和height属性初化; (2)一个不带参数的构造器,将矩形初始化为宽和高都为10。 两个方法: (1 求矩形面积的方法area() (2 求矩形周长的方法perimeter() 4.编写一个Java源程序,在程序中建立一个含10个整型(int)元素的一维数组,对数组中的每个元素赋值,然后按下标的逆序输出。 5. 设计一个圆类(Circle),将圆的位置(圆心坐标和半径)作为属性(提供任意圆的设置),并能计算圆的面积。 Circle类必须满足以下要求: (1) 圆类Circle 的属性有: cPoint_x : int型,代表圆心横坐标。 cPoint_y : int型,代表圆心纵坐标。 cRadius: double型,代表圆的半径。 cPI: double型,最终静态变量初值为3.14,代表圆的圆周率。 cArea: double型,代表圆的面积。 (2) 圆类Circle 的方法有: Circle ( ) : 构造函数,将圆的圆心置坐标原点,半径置1。 Circle ( int x , int y, double r) : 构造函数,形参 r 为半径的初值,x为横坐标的初值,y为纵坐标的初值。 double cAreaCount() : 计算当前圆类对象的面积并赋值给Circle类的cArea属性,返回cArea的值给此方法的调用者。 String toString( ) : 把当前圆类对象的圆心坐标、半径以及面积组合成“圆心为(x, y)半径为r的圆的面积为cA”字符串形式,其中x、 y、r和cA分别为横坐标、纵坐标、半径和面积的数据。 7、猜数游戏 随机生成一个数 输入一个数 如果比随机生成的数大,显示“猜错了,比这个数小” 如果比随机生成的数小,显示“猜错了,比这个数大” 如果相等,显示“恭喜你,答对了” 8、写一个彩票程序

java笔试面试题及答案

java笔试面试题及答案

一.选择题(30分) 1.下列哪些情况能够终止当前线程的运行? a. 抛出一个异常时。 b. 当该线程调用sleep()方法时。 c. 当创立一个新线程时。(与当前进程无关) d. 当一个优先级高的线程进入就绪状态时。 2. 下面哪些为构造函数的特性定义 a. 在类中声明构造函数时,名称应该与类名相同 b. 具有重载特性,能够建立多个相同的名称 c. 使用类建立新对象时,会自动执行构造函数,因此在构造函 数内设定变量的初值或进行内存分配 d. 以上都是 3. 关于异常处理机制的叙述哪些正确 a. catch部分捕捉到异常情况时,才会执行finally部分(无论是否有毛病,都执行) b. 当try区段的程序发生异常时,才会执行catch区段的程序 c. 不论程序是否发生错误及捕捉到异常情况,都会执行finally 部分 d. 以上都是 4. 下列关于接口的叙述中哪些是正确的 a. 接口中的数据必须设定初值(就是接口中的常量) b. 接口中的方法都是抽象方法

c. 接口能够声明引用 d. 以上都正确 5. Java语言中,方法的重写(Overriding)和重载(Overloading)是多态性的不同表现。下边哪些说法是正确? A.重写是父类与子类之间多态性的一种表现。 B.重写是一个类中多态性的一种表现。 C.重载是一个类中多态性的一种表现。 D.重载是父类与子类之间多态性的一种表现。 6.在Struts应用的视图中包含哪些组件? A. JSP B. Servlet C. ActionServlet D. Action E. 代表业务逻辑或业务数据的JavaBean F. EJB G. 客户化标签 7. struts框架中,关于FormBean,下列哪些说法是正确的: A FormBean是一种数据bean,主要用来封装表单提交上来的数据,并把这些数据传递给Action B 在FormBean中能够对页面上传递来的参数进行一下格式上的验证,这种验证是一种客户端的验证 C 用户每次提交表单,都会产生一个新的FormBean实例 D 动态FormBean不能进行验证操作 8哪些方法能够进行servlet的调试?()

java 上机练习题

上机练习一 一、将Vehicle 和VehicleDriver两个文件用自己的文本编辑器重新编辑并编译和运行,掌握类和对象的定义和使用 1、V ehicle.java (注意:以下代码有几个错误的地方,需要同学自己把他们找出来并更正过来) public class Vehicle{ public float journey; public int wheelNum; public int loadNum; public int driveSpeed; /** *Vehicle 类构造函数,设定初始值 */ public Vehicle(){ journey=100.3f; wheelNum=4; loadNum=1; } /** *Vehicle类的driveAt行驶方法 */ public void driveAt(int speed){ if (speed>=60){ System.out.println("行车速度太快,容易造成事故"); //如果要求的车速太快,则机动车自动以40单位速度行驶 driveSpeed=40; } else {

System.out.println("你在安全行驶速度内行驶"); driveSpeed=speed; } } } 2、V ehicleDriver.java public class VehicleDriver{ public String name; //定义司机的名字 /** *VehicleDriver 类构造函数 */ public VehicleDriver(){ name="TOM"; } /** *VehicleDriver 类对象的work方法 */ public void work(){ Vehicle v=new Vehicle(); //生成Vehicle类的对象v v.driveAt(70); //调用v对象所固有的driveAt()方法 } public static void main(String args[]){ //生成VehicleDriver类的对象vb VehicleDriver vd=new VehicleDriver(); vd.work(); //调用vd对象所固有的work()方法

java笔试题以及答案详解_一

java笔试题以及答案详解一 一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A.Java程序经编译后会产生machine code B.Java程序经编译后会产生byte code C.Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名 C.constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 详解:见下面代码,很明显方法是可以和类名同名的,和构造方法唯一的区别就是,构造方法没有返回值。

4.提供Java存取数据库能力的包是() A.java.sql B.java.awt C.https://www.doczj.com/doc/c44340580.html,ng D.java.swing 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 详解: 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1;

}while(a>0); 后,C的值是() A.0 B.1 C.-1 D.死循环 答案:C 详解: 7.下列哪一种叙述是正确的() A.abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{ }包住C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 详解: 8.下列语句正确的是() A.形式参数可被视为local variable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数 D.形式参数不可以是对象 答案:A 详解:

Java Web郭克华主编-第三章课后上机题

金额找零

您输入的金额为:

找零的数量为:
50元
  20元
  10元
5元 张
1元 张

java笔试题目及答案分析

Java上市公司笔试题目及答案分析 一、选择题(不定项选题) 1下面说法正确的是( C ) A.Java中包的主要作用是实现跨平台功能 B.package语句只能放在import语句后 C.包(package)是由一组类(class) 和接口(inter'face)组成 D.无 2不能用来修饰interface的有(ACD ) Aprivate Bpublic Cprotected Dstatic 3在Java语言中,下列关于字符编码和国际化的叙述,哪些是正确的(CD) A每个中文字符占用2个字节,每个英文字符占用1个字节 B假设数据库中的字符是以GBK编码的,那么显示数据库数据的网页也必须是GBK编码的。 CJava的char类型,通常以UTF-16 Big Endian的方式保存一个字符。 D实现国际化应用常用的手段是利用ResourceBundle类 解析: 1.不同的编码格式,字符所占用的字节数是不一样的。如GBK中每个中文占用2个字 节,UTF-8中则是变长编码,可能占用3个字节或者4个字节。因此A不正确。 2.不同的编码方式之间是可以转换的,如果数据库GBK编码,页面上可以使用任意 支持汉字编码的编码方式显示都可以,只要在向页面传输的数据过程中进行编码的转换即可。如:数据库是GBK,页面上是UTF-8,那么可以这样转换:实例代码以java语法编写 4下面代码的执行结果是(C ) public class TestDemo { public static void main(String[] args) { System.out.println(test1());

JAVA入门练习50题(含答案)

题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? //这是一个菲波拉契数列问题 public class lianxi01 { public static void main(String[] args) { System.out.println("第1个月的兔子对数: 1"); System.out.println("第2个月的兔子对数: 1"); int f1 = 1, f2 = 1, f, M=24; for(int i=3; i<=M; i++) { f = f2; f2 = f1 + f2; f1 = f; System.out.println("第" + i +"个月的兔子对数: "+f2); } } } 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 public class lianxi02 { public static void main(String[] args) { int count = 0; for(int i=101; i<200; i+=2) { boolean b = false; for(int j=2; j<=Math.sqrt(i); j++) { if(i % j == 0) { b = false; break; } else { b = true; } } if(b == true) {count ++;System.out.println(i );} } System.out.println( "素数个数是: " + count); } }

java笔试题试题及答案

答案:正确 2.Unicode是用16位来表示一个字的。() 答案:正确 3.原生类中的数据类型均可任意转换。() 答案:错误 1.分别写出BOOL,int,float,指针类型的变量a 与“零”的比较语句。 答案: BOOL :if ( !a ) or if(a) int :if ( a == 0) float :const EXPRESSION EXP = 0.000001 if ( a < EXP && a >-EXP) pointer : if ( a != NULL) or if(a == NULL) 2.请说出const与#define 相比,有何优点? 答案:1)const 常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查。而对后者只进行字符替换,没有类型安全检查,并且在字符替换可能会产生意料不到的错误。 2)有些集成化的调试工具可以对const 常量进行调试,但是不能对宏常量进行调试。 3.简述数组与指针的区别? 数组要么在静态存储区被创建(如全局数组),要么在栈上被创建。指针可以随时指向任意类型的内存块。 (1)修改内容上的差别 char a[] = “hello”; a[0] = …X?;

char *p = “world”; // 注意p 指向常量字符串 p[0] = …X?; // 编译器不能发现该错误,运行时错误 (2) 用运算符sizeof 可以计算出数组的容量(字节数)。sizeof(p),p 为指针得到的是一个指针变量的字节数,而不是p 所指的内存容量。C++/C 语言没有办法知道指针所指的内存容量,除非在申请内存时记住它。注意当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针。 char a[] = "hello world"; char *p = a; cout<< sizeof(a) << endl; // 12 字节 cout<< sizeof(p) << endl; // 4 字节 计算数组和指针的内存容量 void Func(char a[100]) { cout<< sizeof(a) << endl; // 4 字节而不是100 字节 } 4.类成员函数的重载、覆盖和隐藏区别? 答案: a.成员函数被重载的特征: (1)相同的范围(在同一个类中); (2)函数名字相同; (3)参数不同; (4)virtual 关键字可有可无。 b.覆盖是指派生类函数覆盖基类函数,特征是: (1)不同的范围(分别位于派生类与基类);

java笔试题大集合及答案Java基础方面

Java基础方面: 1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域当前类同一package 子孙类其他package public √√√√ protected √√√× friendly √√×× private √××× 不写时默认为friendly 2、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口) 答:匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、Static Nested Class 和Inner Class的不同 答:Nested Class (一般是C++的说法),Inner Class (一般是JAVA的说法)。Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。注:静态内部类(Inner Class)意味着1创建一个static内部类的对象,不需要一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象 4、&和&&的区别 答:&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and) 5、Collection 和 Collections的区别 答:Collection是集合类的上级接口,继承与他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 6、什么时候用assert 答:assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确

Java面向对象编程上机-练习题汇总

【练习题】类的成员变量: 猜数字游戏:一个类A有一个成员变量v,有一个初值100。定义一个类,对A 类的成员变量v进行猜。如果大了则提示大了,小了则提示小了。等于则提示猜测成功。 【练习题】类的成员变量: 请定义一个交通工具(Vehicle)的类,其中有: 属性:速度(speed),体积(size)等等 方法:移动(move()),设置速度(setSpeed(int speed)),加速speedUp(),减速speedDown()等等. 最后在测试类Vehicle中的main()中实例化一个交通工具对象,并通过方法给它初始化speed,size的值,并且通过打印出来。另外,调用加速,减速的方法对速度进行改变。 【练习题】类的成员变量与方法、构造方法 在程序中,经常要对时间进行操作,但是并没有时间类型的数据。那么,我们可以自己实现一个时间类,来满足程序中的需要。 定义名为MyTime的类,其中应有三个整型成员:时(hour),分(minute),秒(second),为了保证数据的安全性,这三个成员变量应声明为私有。 为MyTime类定义构造方法,以方便创建对象时初始化成员变量。 再定义diaplay方法,用于将时间信息打印出来。 为MyTime类添加以下方法: addSecond(int sec) addMinute(int min) addHour(int hou) subSecond(int sec) subMinute(int min) subHour(int hou) 分别对时、分、秒进行加减运算。 【练习题】构造方法 编写Java程序,模拟简单的计算器。 定义名为Number的类,其中有两个整型数据成员n1和n2,应声明为私有。编写构造方法,赋予n1和n2初始值,再为该类定义加(addition)、减(subtration)、乘(multiplication)、除(division)等公有成员方法,分别对两个成员变量执行加、减、乘、除的运算。 在main方法中创建Number类的对象,调用各个方法,并显示计算结果。 【练习题】构造方法: 编写Java程序,用于显示人的姓名和年龄。 定义一个人类(Person),该类中应该有两个私有属性,姓名(name)和年龄(age)。定义构造方法,用来初始化数据成员。再定义显示(display)方法,将姓名和年龄打印出来。

Java经典面试笔试题及答案

1.什么是对象序列化,为什么要使用? 所谓对象序列化就是把一个对象以二进制流的方式保存到硬盘上。好处:方便远程调用。 2.值传递与引用传递的区别? 所谓值传递就是把一个对象的值传给一个新的变量,但是系统会给这个新的变量开辟一个新的内存空间。不会改变原有的值所谓引用传递就是把一个对象在堆中保存的数据传递给一个变量,此时新的变量与原有的变量对应同一个内存存储空间,当新的变量修改对象的属性时,内存中的数据也会修改。 3.接口与抽象类的区别? 1:接口里面不可以实现方法体,抽象类可以实现方法体。 2:接口可以多继承接口,抽象类不可以。 3:接口需要被子类实现,抽象类是要被子类继承(单一继承)。 4:接口中只能有公有的方法和属性而且必须赋初始值,抽象类中可以有私有方法和属性. 5: 接口中不能存在静态方法,但属性可以和final,抽象类中方法中可以有静态方法,属性也可以。 4.谈谈继承,为什么要使用继承? 所谓继承就是找出几个类中共同的部分,提取出来作为父类。而子类只需要继承父类,就可以共享父类的方法。 使用继承能够减少重复的代码。 5.方法重载的好处?

所谓重载就是在一个类中可以定义多个相同的方法,但是方法的参数类型和参数的个数以及顺序要不同。 重载的好处就是能够让我们很快的掌握该方法的功能,我们只要要记住该方法就能很快的理解该方法的参数以及参数的作用 6.项目中印象最深的部分? 我觉得在该项目中我体现到了反射技术的强大之处,原来我一直不清楚反射是一种什么样的技术,只知道一些概念上的知识,经过这个项目之后,终于知道该怎样灵活运用反射,以及在什么时候运用。 谈谈你对面向对象的理解与认识? 我觉得使用面向对象这种思维的方式比较符合我们人类的思想,不需要去学习一些什么新的思考方式,就按照现实生活做的一些故事就能让人理解该内容的知识以及他们的作用。 我的看法就是: 1:当加入新的功能的时候不会修改原有的代码。(面向接口编程) 2: 当我们写的一个类可以重复的运用在其他项目中。(代码的复用性) 3:当写一个新类的时候要考虑到他的可扩展性。(灵活性) 7.谈谈集合框架? 集合框架分为三部分,第一部分是collection接口,第二部分是Map接口、第三部分是collections帮助类 首先说一下collection接口,collection接口下面的接口分为set 接口、list接口,在往下面就是他们一些实现类。

Java上机题目及答案代码

Java上机实践三 实验题目1 假设字符串s1、s2、s3的定义如下: String s1 = “A String”; String s2 = “A String”; String s3 = s1; 请写出下列表达式的值: s1 == s2 s1 == s3 s1.length() s1.equals(s2) s1.equals(s3) https://www.doczj.com/doc/c44340580.html,pareTo(s2) https://www.doczj.com/doc/c44340580.html,pareTo(s3) s1.concat(s3) s1.indexOf(‘t’) https://www.doczj.com/doc/c44340580.html,stIndexOf(‘t’) 实验目的 (1)熟悉字符串类String。 (2)学习创建类String的对象。 (3)学习使用类String执行字符串操作。 实验步骤 (1)按题目的要求创建String对象s1、s2,并声明对象引用s3指向s1;(2)调用String类的相关方法,执行指定操作并输出结果。 package lab1; public class Showstr { public static void main(String[] args){ String s1 ="A String"; String s2 ="A String"; String s3 = s1; System.out.println(s1 == s2); System.out.println(s1 == s3); System.out.println(s1.length()); System.out.println(s1.equals(s2)); System.out.println(s1.equals(s3)); System.out.println(https://www.doczj.com/doc/c44340580.html,pareTo(s2)); System.out.println(https://www.doczj.com/doc/c44340580.html,pareTo(s3)); System.out.println(s1.concat(s3));

华为java笔试题以及答案

最新华为java笔试题以及答案 华为作为世界500强企业之一,每年都会在各省市招募大量人才,因为其巨大的威望和声誉以及较好的薪酬,近年来华为成为很多学子争相进入的理想之地。尤其对于很多学计算机技术的人来说,更是一大吸引之地。然而,这么大的公司可不是想进就能进的。多年来,华为对人才的要求都很高,类别也多,已形成了完整的人才招聘体系。想进去,就需要各渠道想办法,首先要过笔试。本小编在此整理了华为java笔试题,以供大家参考: 一、单项选择题 1.下列运算符合法的是() A.&&B.<>C.ifD.:= 答案:A 2.下列语句哪一个正确() A.Java程序经编译后会产生machinecode B.Java程序经编译后会产生bytecode C.Java程序经编译后会产生DLL D.以上都不正确

答案:B 3.下列说法正确的有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名C.constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 4.提供Java存取数据库能力的包是() A.java.sqlB.java.awtC.https://www.doczj.com/doc/c44340580.html,ngD.java.swing 答案:A 5.Java是从()语言改进重新设计。 A.AdaB.C++C.PasacalD.BASIC 答案:B 6.执行如下程序代码 a=0;c=0; do{

--c; a=a-1; }while(a>0); 后,C的值是() A.0B.1C.-1D.死循环 答案:C 7.下列哪一种叙述是正确的() A.abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{}包住C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 8.下列语句正确的是() A.形式参数可被视为localvariable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数

Java语言练习题库(含答案)

单选题 1. 为了保证方法的线程安全,声明方法的时候必须用哪个修饰符? (A) new (B) transient (C) void (D) synchronized 2. 编译Java源文件使用哪个? (A) javac (B) jdb (C) javadoc (D) junit 3. 哪一种类的对象中包含有Internet地址。 (A) Applet (B) Datagramsocket (C) InetAddress (D) AppletContext 4. 有关GUI容器叙述,不正确的是? (A) 容器是一种特殊的组件,它可用来放置其它组件 (B) 容器是组成GUI所必需的元素 (C) 容器是一种特殊的组件,它可被放置在其它容器中

(D) 容器是一种特殊的组件,它可被放置在任何组件中 5. 使用javadoc生成的文档的文件格式是? (A) XML格式 (B) 自定义格式 (C) 二进制格式 (D) HTML格式 6. 下列有关类、对象和实例的叙述,正确的是哪一项? (A) 类就是对象,对象就是类,实例是对象的另一个名称,三者没有差别 (B) 对象是类的抽象,类是对象的具体化,实例是对象的另一个名称 (C) 类是对象的抽象,对象是类的具体化,实例是类的另一个名称 (D) 类是对象的抽象,对象是类的具体化,实例是对象的另一个名称 7. 在事件委托类的继承体系中,最高层次的类是哪项? (A) java.util.EventListener (B) java.util.EventObject (C) java.awt.AWTEvent (D) java.awt.event.AWTEvent 8. Java语言中异常的分类是哪项? (A) 运行时异常和异常 (B) 受检异常和非受检异常

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