java基础笔试题及答案高中_第1页
java基础笔试题及答案高中_第2页
java基础笔试题及答案高中_第3页
java基础笔试题及答案高中_第4页
java基础笔试题及答案高中_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

java基础笔试题及答案高中Java基础笔试题及答案高中一、选择题(共40分,每题2分)1.下列哪个是Java语言的特点?A.面向对象B.编译执行C.跨平台D.以上都是答案:【D】解析:Java语言具有面向对象、编译执行和跨平台三大特点。面向对象体现在Java支持类、对象、继承、封装和多态等特性;编译执行是指Java代码需要先编译成字节码;跨平台则是指Java程序可以在任何安装了Java虚拟机的平台上运行。这三个特点都是Java的核心特性,因此正确答案是D。其他选项只描述了Java的部分特性,不够全面。2.Java中,哪个关键字用于定义类?A.classB.structC.interfaceD.type答案:【A】解析:在Java中,使用class关键字来定义类。Java是一种面向对象的语言,类是Java程序的基本构建块。选项struct是C++中的关键字,Java中没有struct;interface用于定义接口;type不是Java的关键字。易错警示:初学者可能会混淆class和其他面向对象语言中的关键字,需要明确Java中定义类的唯一正确方式是使用class关键字。3.下列哪个是Java的合法标识符?A.3variableB.$variableC.variable-nameD.class答案:【B】解析:Java标识符的命名规则是以字母、下划线(_)或美元符号($)开头,后面可以跟字母、下划线、美元符号或数字。选项3variable以数字开头,不合法;variable-name包含连字符,不合法;class是Java的关键字,不能作为标识符。$variable符合Java标识符的命名规则,是合法的。易错警示:初学者常常忽略标识符不能以数字开头且不能包含特殊字符(除了_和$)的规则。4.下列哪个数据类型不是Java的基本数据类型?A.intB.StringC.booleanD.double答案:【B】解析:Java的基本数据类型包括:整数类型(byte,short,int,long)、浮点类型(float,double)、字符类型(char)和布尔类型(boolean)。String不是基本数据类型,而是Java提供的一个类,属于引用数据类型。其他选项都是Java的基本数据类型。易错警示:初学者常误以为String是基本数据类型,需要明确Java只有8种基本数据类型,String是对象类型。5.在Java中,哪个运算符用于计算两个数的余数?A.%B./C.&D.答案:【A】解析:在Java中,%运算符用于计算两个数的余数,也称为取模运算符。/运算符用于除法运算;&是位运算符中的按位与操作;不是Java中的运算符。易错警示:初学者可能会混淆%和/运算符的功能,需要明确%是求余运算,而/是除法运算,10%3=1,而10/3=3。6.下列哪个循环语句至少会执行一次循环体?A.for循环B.while循环C.do-while循环D.增强for循环答案:【C】解析:do-while循环的特点是先执行循环体,然后再判断循环条件,因此至少会执行一次循环体。for循环、while循环和增强for循环都是先判断条件,再决定是否执行循环体,如果条件一开始就不满足,则循环体一次都不会执行。易错警示:在编程过程中,需要根据需要选择合适的循环结构,如果需要循环至少执行一次,应该选择do-while循环。7.在Java中,哪个关键字用于抛出异常?A.throwB.throwsC.catchD.finally答案:【A】解析:throw关键字用于在代码中主动抛出异常对象。throws关键字用于声明方法可能抛出的异常;catch用于捕获异常;finally用于定义无论是否发生异常都会执行的代码块。易错警示:初学者常混淆throw和throws的使用场景,throw用于在代码中主动抛出异常,而throws用于方法签名中声明可能抛出的异常。8.下列哪个不是Java的访问修饰符?A.publicB.privateC.protectedD.final答案:【D】解析:Java的访问修饰符有四个:public、private、protected和默认包级私有。final不是访问修饰符,而是用于表示"最终"的关键字,可以用于修饰类、方法和变量。易错警示:初学者可能会将final误认为是访问修饰符,需要明确final的作用是防止被继承、重写或修改,而不是控制访问权限。9.在Java中,哪个关键字用于创建对象?A.newB.createC.objectD.instance答案:【A】解析:在Java中,使用new关键字来创建对象。create、object和instance都不是Java的关键字。new操作符会调用类的构造方法,在堆内存中分配空间,并返回对象的引用。易错警示:初学者可能会尝试使用create或其他看起来像是创建对象的关键字,但Java中创建对象的唯一方式是使用new关键字。10.下列哪个集合类允许存储重复元素?A.SetB.ListC.MapD.Queue答案:【B】解析:在Java集合框架中,List接口允许存储重复元素,且保持元素的插入顺序。Set接口不允许存储重复元素;Map接口存储键值对,键不允许重复;Queue是队列接口,通常允许重复元素,但具体取决于实现。易错警示:初学者常混淆不同集合类的特性,需要明确List允许重复元素,而Set不允许重复元素。11.在Java中,哪个方法用于获取字符串的长度?A.size()B.length()C.getSize()D.getLength()答案:【B】解析:在Java中,String类提供了length()方法用于获取字符串的长度。size()方法通常用于集合类;getSize()和getLength()不是String类的方法。易错警示:初学者可能会混淆String和其他集合类的方法名,需要明确String使用length()获取长度,而集合类通常使用size()获取元素数量。12.下列哪个是Java中的正确注释方式?A./注释内容/B.//注释内容C./注释内容/D.以上都是答案:【D】解析:Java支持三种注释方式:单行注释(//)、多行注释(//)和文档注释(//)。选项A、B和C都是Java中正确的注释方式,因此正确答案是D。易错警示:初学者可能会忘记Java支持多种注释方式,或者混淆不同注释方式的用途,需要明确单行注释用于简单说明,多行注释用于大段说明,文档注释用于生成API文档。13.在Java中,哪个关键字用于定义接口?A.classB.interfaceC.implementsD.extends答案:【B】解析:在Java中,使用interface关键字来定义接口。class用于定义类;implements用于实现接口;extends用于继承类。接口是Java中实现多态的一种方式,定义了一组方法的规范,但不提供实现。易错警示:初学者可能会混淆interface和class的使用场景,需要明确接口用于定义规范,类用于实现规范,一个类可以实现多个接口,但只能继承一个类。14.下列哪个是Java中的正确布尔值?A.1B.0C.trueD."true"答案:【C】解析:在Java中,布尔类型(boolean)只有两个值:true和false。1和0在Java中是整数值,不是布尔值;"true"是字符串,不是布尔值。易错警示:初学者可能会在其他编程语言的影响下使用1和0表示布尔值,但Java中必须使用true和false来表示布尔值。15.在Java中,哪个关键字用于继承类?A.implementsB.extendsC.inheritD.extends答案:【B】解析:在Java中,使用extends关键字来实现类的继承。implements用于实现接口;inherit不是Java的关键字;extends是正确的关键字。易错警示:初学者可能会混淆extends和implements的使用场景,需要明确extends用于继承类,implements用于实现接口,一个类只能继承一个类,但可以实现多个接口。16.下列哪个是Java中的正确数组声明方式?A.int[]arr=newint[5];B.intarr[]=newint[5];C.int[]arr={1,2,3,4,5};D.以上都是答案:【D】解析:Java中声明数组有几种方式:int[]arr=newint[5];、intarr[]=newint[5];和int[]arr={1,2,3,4,5};都是正确的数组声明方式。第一种和第二种方式等价,只是数组的方括号位置不同;第三种方式是直接初始化数组。易错警示:初学者可能会认为只有一种正确的数组声明方式,实际上Java支持多种等价的数组声明语法。17.在Java中,哪个关键字用于方法重写?A.overrideB.@OverrideC.@OverrideD.以上都是答案:【C】解析:在Java中,使用@Override注解来标注方法重写。override不是Java的关键字;@Override是Java提供的注解,用于编译时检查方法是否正确重写了父类的方法;@Override也是正确的注解写法。易错警示:初学者可能会忘记使用@Override注解,或者误以为override是关键字,需要明确Java中只有@Override注解,没有override关键字。18.下列哪个是Java中的正确文件扩展名?A..javaB..jvC..javD..j答案:【A】解析:Java源代码文件的扩展名是.java。其他选项(.jv,.jav,.j)都不是Java的标准文件扩展名。Java源代码文件需要以.java结尾,才能被Java编译器识别和编译。易错警示:初学者可能会混淆Java文件的扩展名,需要明确Java源文件必须使用.java作为扩展名。19.在Java中,哪个关键字用于定义常量?A.constB.finalC.staticD.constant答案:【B】解析:在Java中,使用final关键字来定义常量。const不是Java的关键字;static用于定义静态成员;constant不是Java的关键字。被final修饰的变量一旦赋值就不能再修改,通常常量名全部大写。易错警示:初学者可能会尝试使用const来定义常量,但Java中没有const关键字,需要使用final来定义常量。20.下列哪个是Java中的正确多线程创建方式?A.继承Thread类B.实现Runnable接口C.使用线程池D.以上都是答案:【D】解析:在Java中,创建线程有三种主要方式:继承Thread类、实现Runnable接口和使用线程池。继承Thread类是最简单的方式;实现Runnable接口更灵活,因为Java不支持多重继承;使用线程池适合管理大量线程。易错警示:初学者可能会只了解一种创建线程的方式,而忽略其他方式,需要根据实际需求选择合适的线程创建方式。二、填空题(共20分,每题2分)1.Java程序运行的基本单位是________。答案:【类】解析:在Java中,程序运行的基本单位是类。Java程序是由一个或多个类组成的,每个类可以包含方法和变量。当运行Java程序时,JVM会从包含main方法的类开始执行。易错警示:初学者可能会混淆类和对象的概念,需要明确类是模板,对象是类的实例,程序运行的是对象,但对象是由类创建的。2.在Java中,用于获取键盘输入的类是________。答案:【Scanner】解析:在Java中,Scanner类是java.util包中的一个类,用于获取用户的键盘输入。通过创建Scanner对象,可以读取各种类型的输入,如整数、浮点数、字符串等。易错警示:初学者可能会忘记导入java.util.Scanner包,或者错误地使用Scanner类的方法,需要明确Scanner类的基本用法和常用方法。3.Java中,用于表示"如果...否则"结构的语句是________。答案:【if-else】解析:在Java中,if-else语句用于实现条件判断,根据条件的真假执行不同的代码块。if关键字后跟条件表达式,如果条件为true,则执行if块中的代码;否则执行else块中的代码。易错警示:初学者可能会忘记在if语句后添加条件表达式,或者混淆if-else和switch语句的使用场景,需要明确if-else适用于范围条件,而switch适用于离散值条件。4.在Java中,用于定义方法的关键字是________。答案:【方法】解析:在Java中,使用方法关键字(method)来定义方法。方法是一段可重复使用的代码块,用于执行特定的任务。方法由方法名、参数列表、返回类型和方法体组成。易错警示:初学者可能会混淆方法和其他编程结构,如函数或过程,需要明确Java中的方法必须属于某个类,并且可以有返回值也可以没有返回值(使用void关键字)。5.Java中,用于存储多个相同类型数据的集合是________。答案:【数组】解析:在Java中,数组是一种用于存储多个相同类型数据的集合。数组具有固定长度,一旦创建就不能改变大小。数组中的每个元素可以通过索引来访问,索引从0开始。易错警示:初学者可能会混淆数组和集合类的区别,需要明确数组是固定长度的,而集合类(如ArrayList)是动态长度的,可以根据需要自动调整大小。6.在Java中,用于处理异常的关键字是________。答案:【try-catch-finally】解析:在Java中,try-catch-finally关键字用于异常处理。try块中包含可能抛出异常的代码;catch块用于捕获和处理特定类型的异常;finally块中的代码无论是否发生异常都会执行。易错警示:初学者可能会忘记使用finally块,或者错误地处理异常,需要明确异常处理的基本原则是捕获特定类型的异常,而不是捕获所有异常(使用Exception类)。7.Java中,用于表示循环的关键字是________。答案:【for/while/do-while】解析:在Java中,有三种循环关键字:for、while和do-while。for循环适用于已知循环次数的情况;while循环适用于基于条件的情况;do-while循环至少执行一次循环体。易错警示:初学者可能会混淆不同循环的使用场景,或者忘记在循环中更新循环变量,导致无限循环,需要根据具体需求选择合适的循环结构。8.在Java中,用于表示逻辑"与"的运算符是________。答案:【&&】解析:在Java中,&&运算符表示逻辑"与",只有当两个操作数都为true时,结果才为true。&运算符也是按位与,但在逻辑运算中应该使用&&。易错警示:初学者可能会混淆&&和&运算符,需要明确&&是短路与运算符,如果第一个操作数为false,则不会评估第二个操作数;而&是逻辑与运算符,总会评估两个操作数。9.Java中,用于表示继承关系的关键字是________。答案:【extends】解析:在Java中,extends关键字用于表示类之间的继承关系。一个类可以通过extends关键字继承另一个类的属性和方法。Java只支持单继承,即一个类只能继承一个父类,但可以通过实现多个接口来获得类似多重继承的效果。易错警示:初学者可能会混淆extends和implements的使用场景,需要明确extends用于继承类,implements用于实现接口。10.在Java中,用于表示包的关键字是________。答案:【package】解析:在Java中,package关键字用于声明包。包是Java中用于组织类的机制,可以避免类名冲突,并控制访问权限。Java的标准库都是通过包来组织的,如java.lang、java.util等。易错警示:初学者可能会忘记使用package关键字声明包,或者错误地组织类结构,需要明确包名通常采用反向域名命名方式,如com.example.mypackage。三、判断题(共10分,每题1分)1.Java是一种编译型语言。答案:【正确】解析:Java是一种编译型语言,Java源代码(.java文件)首先被编译成字节码(.class文件),然后由Java虚拟机(JVM)解释执行。虽然Java有编译过程,但它也具有解释型语言的特点,因为字节码不是直接在特定平台上运行,而是在JVM上运行。易错警示:初学者可能会混淆编译型语言和解释型语言的定义,需要明确Java是"一次编译,到处运行"的语言,既具有编译型语言的特性,也具有解释型语言的特性。2.Java中,main方法的返回类型必须是void。答案:【正确】解析:在Java中,main方法的签名必须是publicstaticvoidmain(String[]args),返回类型必须是void,因为Java程序启动时不需要返回任何值。main方法是Java程序的入口点,JVM会调用这个方法来启动程序。易错警示:初学者可能会错误地改变main方法的返回类型,或者忘记使用static关键字,需要明确main方法的固定签名是Java程序的规范。3.Java中,String类是基本数据类型。答案:【错误】解析:String类不是Java的基本数据类型,而是Java提供的一个类,属于引用数据类型。Java的基本数据类型只有8种:byte、short、int、long、float、double、char和boolean。String类用于表示字符串,是一个不可变的字符序列。易错警示:初学者常误以为String是基本数据类型,需要明确Java只有8种基本数据类型,其他都是引用类型。4.Java中,一个类可以实现多个接口。答案:【正确】解析:在Java中,一个类可以实现多个接口,这是Java实现多重继承的一种方式。通过实现多个接口,一个类可以获得多个接口定义的方法规范。语法格式为:classClassNameimplementsInterface1,Interface2,...。易错警示:初学者可能会混淆类继承和接口实现的区别,需要明确Java只支持单继承(一个类只能继承一个父类),但支持多实现(一个类可以实现多个接口)。5.Java中,数组的大小可以在运行时改变。答案:【错误】解析:Java中数组的大小在创建时确定,不能在运行时改变。如果需要动态调整数组大小,可以使用集合类,如ArrayList。数组是固定长度的数据结构,一旦创建,其长度就不能改变。易错警示:初学者可能会错误地认为数组的大小可以动态改变,需要明确数组的固定长度特性,以及在需要动态调整大小时应该使用集合类。6.Java中,方法重写和重载是同一个概念。答案:【错误】解析:方法重写(Override)和重载(Overload)是两个不同的概念。重写是指在子类中重新定义父类的已有方法,方法签名必须相同;重载是指在同一个类中定义多个同名方法,但参数列表不同。重写实现了多态,而重载提供了方法的多种实现。易错警示:初学者常混淆重写和重载的概念,需要明确两者的区别:重写关注父子类关系,方法签名相同;重载关注同一类中,方法名相同但参数不同。7.Java中,finally块中的代码一定会执行。答案:【正确】解析:在Java中,finally块中的代码无论是否发生异常都会执行,除非JVM退出或程序终止。finally块通常用于资源清理,如关闭文件、数据库连接等。即使在try或catch块中使用return语句,finally块中的代码也会在return之前执行。易错警示:初学者可能会忽略finally块的重要性,或者错误地认为某些情况下finally块不会执行,需要明确finally块是Java异常处理机制的重要组成部分,确保资源被正确释放。8.Java中,this关键字用于引用当前对象。答案:【正确】解析:在Java中,this关键字用于引用当前对象。它可以用于区分实例变量和局部变量,或者在构造方法中调用其他构造方法。this只能在非静态方法中使用,因为静态方法不与特定对象关联。易错警示:初学者可能会混淆this和super关键字,需要明确this引用当前对象,而super引用父类对象,两者在继承结构中有不同的用途。9.Java中,构造方法可以有返回类型。答案:【错误】解析:在Java中,构造方法没有返回类型,甚至连void都没有。构造方法与类同名,用于创建和初始化对象。如果类中没有显式定义构造方法,Java会提供一个默认的无参构造方法。易错警示:初学者可能会错误地给构造方法添加返回类型,或者忘记构造方法的特殊语法规则,需要明确构造方法没有返回类型,这是构造方法与普通方法的重要区别。10.Java中,抽象类不能被实例化。答案:【正确】解析:在Java中,抽象类不能被直接实例化,因为它可能包含抽象方法(没有实现的方法)。抽象类必须被继承,子类必须实现所有抽象方法后才能被实例化。抽象类用于表示概念或模板,不能直接创建对象。易错警示:初学者可能会尝试直接实例化抽象类,或者不理解抽象类的用途,需要明确抽象类是用于定义抽象概念的,必须通过具体的子类来实例化。四、简答题(共20分,每题5分)1.简述Java中的面向对象编程三大特性,并举例说明。答案:【面向对象编程三大特性是封装、继承和多态。封装是指将数据和方法封装在一起,隐藏内部实现细节,只暴露必要的接口。例如,一个Person类可以封装姓名、年龄等属性,以及getAge()、setAge()等方法。继承是指子类继承父类的属性和方法,形成类的层次结构。例如,Student类可以继承Person类,添加学号等特有属性。多态是指不同对象对同一消息做出不同响应,通过方法重写实现。例如,Person类有一个work()方法,Student类重写了这个方法,当调用不同对象的work()方法时,会执行不同的实现。】解析:面向对象编程的三大特性是Java编程的基础。封装体现了数据隐藏和访问控制的原则,通过访问修饰符控制对类成员的访问;继承体现了代码复用和层次化设计的思想,通过extends关键字实现;多态体现了灵活性和扩展性,通过方法重写和方法重载实现。易错警示:初学者可能会混淆多态和方法重载的概念,需要明确多态是不同对象对同一消息的不同响应,而方法重载是同一类中同名方法的不同参数列表。2.解释Java中的垃圾回收机制,并说明如何手动触发垃圾回收。答案:【Java中的垃圾回收机制是自动管理内存的机制,它会自动回收不再使用的对象所占用的内存空间。当一个对象没有任何引用指向它时,垃圾回收器会在适当的时候回收这个对象占用的内存。Java中的垃圾回收是自动进行的,程序员不需要手动释放内存。手动触发垃圾回收可以使用System.gc()方法或Runtime.getRuntime().gc()方法,但这只是建议JVM进行垃圾回收,JVM不一定会立即执行。】解析:垃圾回收是Java语言的重要特性之一,它简化了内存管理,避免了内存泄漏和悬空指针等问题。垃圾回收器通过标记-清除、复制、标记-整理等算法回收内存。System.gc()和Runtime.getRuntime().gc()都是建议JVM进行垃圾回收的方法,但JVM会根据自身算法决定何时执行垃圾回收,不能保证立即执行。易错警示:初学者可能会过度依赖手动触发垃圾回收,或者认为调用System.gc()就能立即回收内存,需要明确垃圾回收是自动的,手动调用只是建议,不能精确控制。3.简述Java中的集合框架,并列举常用的集合类及其特点。答案:【Java集合框架是一组用于存储和操作数据的接口和类。集合框架主要包括两个根接口:Collection和Map。Collection接口的子接口有List、Set和Queue。常用的集合类有:ArrayList(基于数组实现,允许重复元素,随机访问快),LinkedList(基于链表实现,插入删除快),HashSet(基于哈希表实现,不允许重复元素,无序),TreeSet(基于红黑树实现,不允许重复元素,有序),HashMap(基于哈希表实现,键值对存储,键不允许重复),TreeMap(基于红黑树实现,键值对存储,键有序)。】解析:Java集合框架是Java编程中常用的数据结构,提供了丰富的数据组织和操作方式。List接口有序且允许重复元素;Set接口无序且不允许重复元素;Map接口存储键值对,键唯一。不同的集合类有不同的数据结构和性能特点,应根据具体需求选择合适的集合类。易错警示:初学者可能会忽略集合类的性能特点,或者错误地使用集合类,需要明确不同集合类的适用场景,如ArrayList适合随机访问,LinkedList适合插入删除操作。4.解释Java中的异常处理机制,并说明try-catch-finally语句块的执行流程。答案:【Java中的异常处理机制用于处理程序运行时出现的错误。Java将异常分为两类:受检异常(Exception)和非受检异常(RuntimeException)。受检异常必须被处理,要么使用try-catch捕获,要么使用throws声明抛出;非受检异常通常是编程错误,如NullPointerException、ArrayIndexOutOfBoundsException等。try-catch-finally语句块的执行流程是:首先执行try块中的代码,如果发生异常,则跳过剩余代码,执行匹配的catch块;如果没有发生异常,则跳过catch块;无论是否发生异常,finally块中的代码都会执行。如果try块中有return语句,finally块中的代码也会在return之前执行。】解析:异常处理是Java程序健壮性的重要保障。try-catch-finally语句块提供了灵活的异常处理机制。try块包含可能抛出异常的代码;catch块捕获并处理特定类型的异常;finally块用于资源清理等必须执行的代码。异常处理的基本原则是捕获特定类型的异常,而不是捕获所有异常,这样可以更精确地处理不同类型的错误。易错警示:初学者可能会过度使用catch(Exceptione)捕获所有异常,或者忘记在finally块中释放资源,需要明确异常处理的最佳实践是捕获特定异常,并在finally中执行清理操作。五、编程题(共10分)1.编写一个Java程序,实现一个简单的图书管理系统,包含以下功能:-创建一个Book类,包含属性:书名(title)、作者(author)、价格(price)、库存数量(stock)-创建一个BookManager类,包含以下方法:-addBook(Bookbook):添加图书-removeBook(Stringtitle):删除指定书名的图书-findBook(Stringtitle):查找指定书名的图书-displayAllBooks():显示所有图书信息-borrowBook(Stringtitle):借阅指定书名的图书(库存减1)-returnBook(Stringtitle):归还指定书名的图书(库存加1)答案:【//Book类publicclassBook{privateStringtitle;privateStringauthor;privatedoubleprice;privateintstock;publicBook(Stringtitle,Stringauthor,doubleprice,intstock){this.title=title;this.author=author;this.price=price;this.stock=stock;}//getter和setter方法publicStringgetTitle(){returntitle;}publicvoidsetTitle(Stringtitle){this.title=title;}publicStringgetAuthor(){returnauthor;}publicvoidsetAuthor(Stringauthor){this.author=author;}publicdoublegetPrice(){returnprice;}publicvoidsetPrice(doubleprice){this.price=price;}publicintgetStock(){returnstock;}publicvoidsetStock(intstock){this.stock=stock;}@OverridepublicStringtoString(){return"书名:"+title+",作者:"+author+",价格:"+price+",库存:"+stock;}}//BookManager类importjava.util.ArrayList;importjava.util.List;publicclassBookManager{privateList<Book>books;publicBookManager(){books=newArrayList<>();}//添加图书publicvoidaddBook(Bookbook){books.add(book);}//删除图书publicbooleanremoveBook(Stringtitle){for(inti=0;i<books.size();i++){if(books.get(i).getTitle().equals(title)){books.remove(i);returntrue;}}returnfalse;}//查找图书publicBookfindBook(Stringtitle){for(Bookbook:books){if(book.getTitle().equals(title)){returnbook;}}returnnull;}//显示所有图书publicvoiddisplayAllBooks(){if(books.isEmpty()){System.out.println("没有图书信息");}else{for(Bookbook:books){System.out.println(book);}}}//借阅图书publicbooleanborrowBook(Stringtitle){Bookbook=findBook(title);if(book!=null&&book.getStock()>0){book.setStock(book.getStock()-1);returntrue;}returnfalse;}//归还图书publicbooleanreturnBook(Stringtitle){Bookbook=findBook(title);if(book!=null){book.setStock(book.getStock()+1);returntrue;}returnfalse;}}//测试类publicclassTestBookManager{publicstaticvoidmain(String[]args){BookManagermanager=newBookManager();//添加图书manager.addBook(newBook("Java编程思想","BruceEckel",108.0,10));manager.addBook(newBook("Java核心技术","CayS.Horstmann",99.0,5));

温馨提示

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

评论

0/150

提交评论