当前位置:网站首页 > Java基础 > 正文

Java程序设计基础试卷2答案



一. 单选题(共39题,39分)
1. (单选题, 1分)在多线程程序设计中,如果采用继承Thread类的方式创建线程,则需要重写Thread类的( )方法。
A. start
B. call
C. interrupt
D. run
正确答案: D:

答案解析:Thread类本身实现了Runnable接口,所以可以通过继承Thread类,并重写run( )方法定义线程体,然后创建该子类的对象创建线程。

2. (单选题, 1分)已知-个有序线性表为(13,18,24,35,47,50,62,83,90,115,134),当用二分法查找值为90的元素时,查找成功的比较次数为( )。
A. 1
B. 2
C. 3
D. 9
正确答案: B

答案解析:根据二分法查找需要两次:首先将90与表中间的元素50进行比较,由于90大于50,所以在线性表的后半部分查找;第二次比较的元素是后半部分的中间元素,即90,这时两者相等,即查找成功。

3. (单选题, 1分)下列关于Java语言特点的叙述中,错误的是( )。
A. Java是面向过程的编程语言
B. Java支持分布式计算
C. Java是跨平台的编程语言
D. Java支持多线程
正确答案: A

答案解析:Java是新-代编程语言,具有很多特点:简单易学;利用面向对象技术;分布式计算;健壮性(鲁棒性);安全性;跨平台(即体系结构中立);可移植性;解释执行;高性能;多线程;动态性。因此,本题的正确答案是A。

4. (单选题, 1分)下列叙述中,正确的是( )。
A. Reader是-个读取字符文件的接口
B. Reader是-个读取数据文件的抽象类
C. Reader是-个读取字符文件的抽象类
D. Reader是-个读取字节文件的-般类
正确答案: C

答案解析:本题考查Reader类的概念。首先应该明确,Reader是-个抽象类,字符输入流都是抽象类Reader类的子类,它是用来读取字符文件的类。字符输出流都是Writer抽象类的子类。

5. (单选题, 1分)下列关于顺序存储结构的叙述中,错误的是( )。
A. 存储密度大
B. 某些非线性结构也可以采用顺序方法存储
C. 结点中只有自身信息域,没有链接信息域
D. 便于进行插入、删除等运算操作
正确答案: D

答案解析:顺序结构每个结点只包含自身的信息域,且逻辑上相邻的结点物理上也是相邻的。因此其存储密度大,但插入、删除运算操作不方便,需移动大量的结点。

6. (单选题, 1分)一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次人栈,然后再依次出栈,则元素出栈的顺序是( )。
A. 12345ABCDE
B. EDCBA54321
C. ABCDE12345
D. 54321EDCBA
正确答案: B

答案解析:栈是按照“先进后出”或“后进先出”的原则组织数据的,所以出栈顺序是EDCBA54321。

7. (单选题, 1分)下列可以获得构件前景色的方法是( )。
A. getsize( )
B. getForeground( )
C. getBackground( )
D. paint( )
正确答案: B

答案解析:A是获得控件大小,B是获得构件的前景色,c是获得构件的背景色,D是继承Applet的子类需要实现的方法。

8. (单选题, 1分)在-棵二叉树的先序遍历、中序遍历、后序遍历所产生的序列中,所有叶子结点的先后顺序( )。
A. 都不相同
B. 完全相同
C. 先序和中序相同,而与后序不同
D. 中序和后序相同,而与先序不同
正确答案: B

答案解析:根据“根-左-右”,“左-根-右”,“左-右-根”的先序、中序、后序遍历原则.可以知道,在3种遍历所产生的序列中,所有叶子结点的先后顺序是完全相同的。

9. (单选题, 1分)关系数据库管理系统能实现的专门关系运算包括( )。
A. 排序、索引、统计
B. 选择、投影、连接
C. 关联、更新、排序
D. 显示、打印、制表
正确答案: B

答案解析:关系数据库管理系统能实现的专门关系运算包括选择、投影、连接。

10. (单选题, 1分)表达式(10*49.3)的类型是( )。
A. double
B. char
C. long
D. float
正确答案: A

答案解析:运算中自动类型转换按优先关系从低级数据转换成高级数据。规定的优先次序是byte,short,char→int→long→float→double。

11. (单选题, 1分)下列说法正确的是( )。
A. 类FilelnputStream和FileOutputStream用来进行文件1/O处理,由它们所提供的方法可以打开本地主机上的文件,并进行顺序的读/写
B. 通过类File的实例或者一个表示文件名称的字符串可以生成文件输人/输出流,在流对象生成的同时,文件被打开,但还不能进行文件读/写
C. 对于InputStream和OutputStream来说,它们的实例都是是非顺序访问流,即只能进行顺序的读/写
D. 当从标准输人流读取数据时,从键盘输人的数据直接输入到程序中
正确答案: A

答案解析:本题是考查对文件输入、输出流的理解。通过类File的实例或者一个表示文件名称的字符串可以生成文件输入/输出流,在流对象生成的同时,文件被打开,然 后就可以进行文件读/写,选项B说法错误。对于InputStream和OutputStream来说,它们的实例都是顺序访问流,即只能进行顺序的读 /写,选项C说法错误。当从标准输入流读取数据时,从键盘输入的数据被缓冲,按键时,程序才会得到输入数据,选项D说法错误。

12. (单选题, 1分)下列关于Java语言中线程的叙述中,正确的是( )。
A. 线程由代码、数据、内核状态和-组寄存器组成
B. 线程间的数据是不共享的
C. 用户只能通过创建Thread类的实例或者定义和创建Thread子类的实例,建立和控制自己的线程
D. 因多线程并发执行而引起的执行顺序的不确定性可能造成执行结果的不确定
正确答案: D

答案解析:本 题考查线程的基本知识。线程与进程在概念上是相关的,线程是由表示程序运行状态的寄存器、程序计数器、栈指针以及堆栈组成,它不包含进程地址空间中的代码 和数据。代码所操作的数据是Java线程模型中的一个组成部分,数据与代码是独立的。数据可以被多个线程共享,也可不共享。Java语言中提供两种创建线 程的方法,-种是通过继承Thread类创建线程,另-种是通过实现Runnable接口来创建线程。

13. (单选题, 1分)JDK中用于存放Java类库文件的文件夹是( )。
A. bin
B. include
C. lib
D. demo
正确答案: C

答案解析:本题考查JDK的文件夹结构。bin文件夹下存放可执行文件。include存放Java标准类的源代码。demo文件夹存放Java例子程序。

A. The value is 8
B. The value is 9
C. The value is 10
D. The value is ll
正确答案: C

答案解析:

此 题考查的是do-while循环和“--”操作符的知识。do-while最少执行-次,在执行完do中的内容后,判断while中的条件是否为 true。如果为true,就再执行do中的内容,然后进行判断。以此类推,直到while的判断为false时退出循环,执行循环后面的内容。而 “--”操作符的规则是,变量右边的“-”将先进行运算,然后才使变量的值减-。而在变量左边的“--”,则先将变量的值减1再运算。本程序中i的值为 10,当程序运行到do-while循环时,程序先执行-次循环,然后判断,因此选C。

A. synchronized( )notify( )
B. synchronizedthis.wait( )
C. synchronizedthis.notify( )
D. Serializablesleep( )
正确答案: B

答案解析:

在Synchronized块中等待共享数据的状态改变时调用wait( )方法,这样该线程进入等待状态暂时释放共享数据对象的锁。

16. (单选题, 1分)软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是( )。
A. 调试程序
B. 操作系统
C. 教务管理系统
D. 汇编程序
正确答案: C

答案解析:编译程序和汇编程序属于开发工具,操作系统属于系统软件,而教务管理系统属于应用软件。

17. (单选题, 1分)使用如下( )保留字可以使只有在定义该类的包中的其他类才能访问该类。
A. abstract
B. private
C. protected
D. 不使用保留字
正确答案: D

答案解析:本题考查类的修饰符。类的默认访问控制策略是不使用保留字来定义类,这会限制其他包中的类访问该类,该类只能被同-个包的类访问和引用,也不能用 import语句引用,选项D正确。protected保留字不起作用,具有protected成员的类的子类可以在包外访问这些被保护的成员。 abstract修饰符修饰的类被称为抽象类,没有具体对象的概念类,不满足题意。private修饰符修饰的类只能被该类自身访问和修改,而不能被任何 其他类获取和引用,不满足题意。可见本题正确答案为选项D。

18. (单选题, 1分)下列关于Applet的安全限制的叙述中,错误的是( )。
A. 通常情况下,禁止Applet读、写本地文件系统
B. 通常情况下,禁止Applet向Applet源主机之外的任何主机建立网络连接
C. 通常情况下,禁止Applet读取系统信息
D. 通常情况下,禁止Applet加载本地库或方法
正确答案: C

答案解析:本题考查Applet的安全限制。许多浏览器为了保护本地主机,-般情况下,对Applet作了如下安全限制:Applet不能运行任何本地可执行程序; 禁止Applet读、写本地计算机的文件系统;禁止加载本地库或方法。Applet只能使用自身的代码或Applet浏览器提供的JavaAPl;禁止向 提供Applet之外的任何主机建立网络连接;不能读取某些系统信息。除了Java版本号、操作系统名等-些简单信息外,Applet不能获得与本地计算 机有关的任何信息。根据上述介绍可知,Applet只能读取有限的系统信息,但不是-点几都不能读取。因此,本题的正确答案是C。

19. (单选题, 1分)支持子程序调用的数据结构是( )。
A. 栈
B. 树
C. 队列
D. 二叉树
正确答案: A

答案解析:根据栈的定义,栈是-种限定在-端进行插入与删除的线性表。在主函数调用子函数时,主函数会保持当前状态,然后转去执行子函数,把子函数的运行结果返回到主函数,主函数继续向下执行,这种过程符合栈的特点。所以-般采用栈式存储方式。

20. (单选题, 1分)能向内部直接写入数据的流是( )。
A. FileOutputStream
B. FileInputStream
C. ByteArrayOutputStream
D. ByteArrayInputStream
正确答案: C

答案解析:本题考查Java的内存读写。在java.io中,还提供了ByteArrayInputStream、ByteArrayOutput-Stream和 StringBufferInputStream类可直接访问内存,它们是InputStream和OutputStream的子类。用 ByteArrayOut-putStream可向字节数组写入数据;ByteArraylnputStream可从字节数组中读取数据。

21. (单选题, 1分)在长度为z的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。
A. ( )(n)
B. ( )(n2)
C. ( )(log2n)
D. ( )(nlog2n)
正确答案: C

答案解析:对于长度为n的有序线性表,在最坏情况下,二分法查找只需比较log2n次,而顺序查找需要比较n次。

22. (单选题, 1分)模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准是模块的( )。
A. 抽象和信息隐蔽
B. 局部化和封装化
C. 内聚性和耦合性
D. 激活机制和控制方法
正确答案: C

答案解析:模块的独立性是评价设计好坏的重要度量标准。衡量软件的模块独立性使用耦合性和内聚性两个定性的度量标准。

A. a=true b=falseb=true C=true
B. a=true b=falseb=true e=false
C. a=true b=trueb=true C=false
D. a=false b=falseb=true C=false
正确答案: C

答案解析:

本题考查关系运算符

public class Java_1{   

    public void fun(){

        String[] data={"10","10.5"};

        double s=0;

        for(int i=0; i<3; i++)

        try{

            s=s+Integer. parseInt(data[i]);

        }catch(Exception e){

                System. out. print("errorl:"+data[i]);

        }

    }

    public static void main(String [] args){

        try{

            Java_1 d=new Java_1();

            d.fun();

       }catch(Exception e){

            System.out.println("error2");

       }

    }

}

A. errorl:10.5
B. error2
C. errorl:10.5 error2
D. 以上都不对
正确答案: C

答案解析:

try-catch块是可以嵌套分层的,并且通过异常对象的数据类型来进行匹配,以找到正确的catchblock异常错误处理代码。以下是通过异常对象的数据类型来进行匹配找到正确的catch block的过程。
①首先在抛出异常的try-catch块中查找catch block,按顺序先与第一个catch block块匹配,如果抛出的异常对象的数据类型与catch block中传入的异常对象的临时变量(就是catch语句后面参数)的数据类型完全相同,或是它的子类型对象,则匹配成功,进入到catch block中执行,否则到第2步:
②如果有两个或更多的catch block,则继续查找匹配第二个、第三个,直至最后一个catch block,如匹配成功,则进入到对应的catch block中执行,否则到第3步;
③返回到上-级的trycatch块中,按规则继续查找对应的catch block。如果找到,进入到对应的catch block中执行,否则到第4步;
④再到上上级的try—catch块中,如此不断递归,直到匹配到顶级的try—catch块中的最后一个catch block,如果找到,进入到对应的catch block中执行;否则程序将会执行terminate(  )退出。所以本题选C。

25. (单选题, 1分)Java中的抽象类Reader和Writer所处理的流是( )。
A. 图像流
B. 对象流
C. 字节流
D. 字符流
正确答案: D

答案解析:Reader/Writer所处理的流是字符流,Input Stream/Out put Stream的处理对象是字节流。

26. (单选题, 1分)下列操作中,不属于Applet安全限制的是( )。
A. 加载本地库
B. 读写本地文件系统
C. 运行本地可执行程序
D. 与同一个页面中的Applet通信
正确答案: D

答案解析:本题考查Applet的安全限制。为了保护本地主机,很多浏览器对Applet作了安全限制:Applet不能运行任何本地可运行程序;禁止加载本地库或 方法;禁止读、写本地计算机的文件系统;禁止与提供Applet之外的任何主机建立网络连接;不能读取某些系统信息。但Applet是可以与同一个页面中 的Applet进行通信的,所以选项D不属于Applet安全限制。

27. (单选题, 1分)数据流程图(DFD图)是( )。
A. 软件概要设计的工具
B. 软件详细设计的工具
C. 结构化方法的需求分析工具
D. 面向对象方法的需求分析工具
正确答案: C

答案解析:数据流程图是-种结构化分析描述模型,用来对系统的功能需求进行建模

28. (单选题, 1分)Swing的选项面板是( )。
A. JTabbedPane
B. JLayeredPane
C. JSerollPane
D. JSplitPane
正确答案: A

答案解析:本题考查Swing的容器面板。在Swing的容器面板中:选项板(JTabbedPane)提供-组可供用户选择的带有标签或图标的选项,每个选项下面 都可以显示一个构件;Swin9提供两种分层面板:JLayeredPane和]Desk—topPane。JDesktopPane是 JLayeredPane的子类,专门为容纳内部框架(JInternalFrame)而设计;滚动窗口(JScroll—Pane)是带滚动条的面板, 主要是通过移动JViewport(视口)来实现的;分隔板(JSplitPane)用于分隔两个构件,这两个构件可以按照水平方向分隔,也可以按照垂直 方向分隔。根据上述介绍可知,Swing中的选项面板是JTabbedPane。因此,本题的正确答案是A。

A. extends Thread
B. extends Float
C. extends Iostream
D. extends Stdio
正确答案: A

答案解析:

从后面重写了run( )方法来看,这是通过继承Thread类,并重写run( )方法定义线程体,然后创建该子类的对象的方式来创建线程。

30. (单选题, 1分)在Applet中显示文字、图形等信息时,应使用的方法是( )。
A. init( )
B. start( )
C. paint( )
D. destroy( )
正确答案: C

答案解析:paint( )是与Applet显示相关的方法,由它来具体执行Applet的绘制功能。init( )方法用于初始化Applet,start( )方法用于 激活Applet。在ink( )方法完成后,将调用start( )方法,而且在Applet每次显示时都要调用。destroy( )方法用于 彻底终止Applet。

31. (单选题, 1分)破坏死锁的4个必要条件之-就可以预防死锁。假如规定一个进程在请求新资源之前首先释放已占有的资源,则是破坏了哪个条件?( )
A. 互斥使用
B. 部分分配
C. 不可剥夺
D. 环路等待
正确答案: B

答案解析:若一个进程请求新资源之前首先释放已占有的资源,这破坏了部分分配条件。

32. (单选题, 1分)如果入栈序列为CEDB,以下哪一个是从栈中删除元素的序列?( )
A. BED
B. BDE
C. BEDC
D. BDEC
正确答案: D

答案解析:根据栈的先进后出原则,可知从栈中删除的元素的序列为BDEC。

33. (单选题, 1分)数据的存储结构是指( )。
A. 存储在外存中的数据
B. 数据所占的存储空间量
C. 数据在计算机中的顺序存储方式
D. 数据的逻辑结构在计算机中的表示
正确答案: D

答案解析:数据的存储结构是指数据结构(数据的逻辑结构)在计算机中的表示,又称物理结构。数据的存储结构主要有两种:顺序存储结构和链式存储结构。

34. (单选题, 1分)下列( )不是链式存储结构的主要特点。
A. 逻辑上相邻的结点,物理上不必相邻
B. 查找迅速快捷
C. 插入、删除灵活方便
D. 存储空间利用率低
正确答案: B

答案解析:链式存储结构的主要特点有:①结点中除自身信息外,还有表示链接信息的指针域,因此存储密度小、存储空间利用率低;②逻辑上相邻的结点物理上不必相邻;③插入、删除操作灵活方便。

35. (单选题, 1分)若变量a是String类型的数据,那么表达式(a+a)的类型是( )。
A. char
B. String
C. int
D. long
正确答案: B

答案解析:Java中允许两个String类型进行+运算,其结果仍旧是String类型。

36. (单选题, 1分)下列有关Java语言的叙述中,正确的是( )。
A. 可以有2个以上package语句
B. 可以有2个以上import语句
C. 可以有2个以上public类
D. 只能有1个类定义
正确答案: B

答案解析:本 题考查考生对Java语言概念的理解。属于考试重点内容,考生应注意理解这些基本概念。考生应该明确,Java语言中可以有package语句,用来指定 源文件存入所指定的包中,只能有0或1个,所以选项A说法错误;可以有0或多个以上import语句,但必须在所有类定义之前引入标准类,所以选项B说法 正确;源文件中最多只能有一个public类,其他类的个数不限,所以选项C和选项D说法错误。

37. (单选题, 1分)Java语言中,负责并发管理的机制是( )。
A. 垃圾回收
B. 虚拟机
C. 代码安全
D. 多线程
正确答案: D

答案解析:多线程是Java程序的并发机制,它能同步共享数据、处理不同的事件。

A. t.start
B. t.class
C. t.thread
D. t.static
正确答案: A

答案解析:

start( )是类Thread的方法,其中start( )方法用于启动线程,使之从新建状态转入就绪状态并进入就绪队列排队,-旦轮到它来享用CPU资源时,就可以脱离创建它的主线程独立地开始自己的生命周期了。

39. (单选题, 1分)下列能够正确创建线程的方法是(  )。
①.继承java.lang.Thread类,并重写run(  )方法
②.继承java.lang.Runnable类,并重写start(  )方法
③.实现java.lang.Thread接口,并实现run(  )方法
④.实现java.lang.Runable接口.并实现run(  )方法
A. ①,③
B. ②,④
C. ②,③
D. ①,④
正确答案: D

答案解析:

用Thread类的构造方法Thread(Runnable target)创建线程对象时,构造方法中的参数必须是一个具体的对象,该对象称作线程的目标对象,创建目标对象的类必须要实现Runnable接口。

二. 填空题(共3题,60分)
40. (填空题, 18分)
基本操作(1小题,计30分)

注意:下面出现的“考生文件夹”均为%USER%

在考生文件夹中存有文件名为Java_1.java的文件,该程序是不完整的,请

在注释行“//Found”下一行语句的下划线地方填入

正确内容, 然后删除下划线,请Java程序设计基础试卷2答案勿删除注释行或改动其他已有语句内容。

存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。

本题的要求是:

对该程序进行调试,使程序能够判断所输入的年份是否闰年。

给定源程序:

//*Found

import java.____________.*;

public class Java_1{

   //*Found

   public static void main(String[] args) ____________ Exception{

      InputStreamReader ir;

      BufferedReader in;

      ir=new InputStreamReader(System.in);

      in=new BufferedReader(ir);

      System.out.println("输入年份是:");

      //*Found

      String s=____________.readLine();

      //*Found

      int year=Integer.parseInt(_____________);

      if(year%4==0&&year%100!=0||year%400==0){

         System.out.println(""+year+"年是闰年.");

      }

      else{

         System.out.println(""+year+"年不是闰年.");

      }

   }

}

正确答案:

(1) io

(2) throws

(3) in

(4) s

答案解析:

填空1:所有的字节流字符流都属于输入流和输出流

填空2:throw语句用在方法体内,表示抛出异常,由方法体内的语句处理。throws语句用在方法声明后面,表示再抛出异常,由该方法的调用者来处理。throws主要是声明这个方法会抛出这种类型的异常,使它的调用者知道要捕获这个异常。

throw是具体向外抛异常的动作,所以它是抛出一个异常实例。

填空3: readLineO是读取流读数据的时候用的,当读到换行标记'n'、"'r'(回车)时,会跟着换行,同时会以字符串形式返回这—行的数据,当读取完所有的数据时会返回null

填空4:将字符串类型转为int类型

注意:下面出现的“考生文件夹”均为%USER%

在考生文件夹中存有文件名为Java_2.java的文件,该程序是不完整的,请

在注释行“//Found”下一行语句的下划线地方填入

正确内容, 然后删除下划线,请勿删除注释行或改动其他已有语句内容。

存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。

本题的要求是:

源代码

public class Java_2{

   public static void main(String args[]) { 

      //*Found

      int a[][] = ________________ int[5][5];

      int i,j,k = 1;

      for(i=0;i<5;i++)

         for(j=0;j<5;j++)

            if((i+j)<5){

               a[i][j] = k;

               //*Found

               ____________________;

               if (k > 9) k = 1;

            }else

               //*Found

               ____________________;

      for(i=0;i<5;i++){ 

         for(j=0;j<5;j++)

            System.out.print(a[i][j]+ "   ");

         //*Found

         _________________________;

      }

   }

}

正确答案:

(1) new

(2) k++

(3) a[i][j]=0

(4) System.out.print(" ")

答案解析:

【考点分析】

本题考查考生对二维数组的应用掌握

【解题思路】

填空1:创建数组对象用关键字new

填空2:本程序中列的数字要求每列增加1,用k++满足该条件

填空3:程序运行时要求每行的0都要增加1个,可以用a[i][j]=0来控制0的生成

填空4:输出要求5个数字换1行, 在java中属于换行符

注意:下面出现的“考生文件夹”均为%USER%

在考生文件夹中存有文件名为Java_3.java的文件,该程序是不完整的,请

在注释行“//Found”下一行语句的下划线地方填入

正确内容, 然后删除下划线,请勿删除注释行或改动其他已有语句内容。

存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。

本题的要求是:

给定源程序:

import javax.swing.*;

import java.awt.*;

public class Java_3{

   static final int WIDTH=300;

   static final int HEIGHT=200;

   public static void main(String[] args){

      //*Found

      JFrame jf=_______________();

      jf.setSize(WIDTH,HEIGHT);

      jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

      //*Found

      jf._________ ("股票分析系统");

      Toolkit kit=Toolkit.getDefaultToolkit();

      Dimension screenSize=kit.getScreenSize();

      int width=screenSize.width;

      int height=screenSize.height;

      int x=(width-WIDTH)/2;

      int y=(height-HEIGHT)/2;

      jf.setLocation (x,y);

      //*Found

      _________.setVisible(true);

   }

}

正确答案:

(1) new JFrame

(2) setTitle

(3) jf

答案解析:

【考点分析】

本题考查考生对窗口的相关设置操作

【解题思路】

填空1:JFrame是指一个计算机语言-java的GUT程序的基本思路是以JFrame为基础,它是屏幕上window的对象,能够最大化、最小化、关闭,创建其对象时需要用关键new

填空2:JFrame类提供设置标题的方法,setTitle ()设置标题

  • 上一篇: java19基础教学
  • 下一篇: java基础b卷
  • 版权声明


    相关文章:

  • java19基础教学2024-11-08 23:10:04
  • 武汉java零基础课程2024-11-08 23:10:04
  • java版mc最基础按键教学2024-11-08 23:10:04
  • java基础笔记狂神2024-11-08 23:10:04
  • 厦门0基础学java2024-11-08 23:10:04
  • java基础b卷2024-11-08 23:10:04
  • rpg maker mv java基础2024-11-08 23:10:04
  • 九章算法 java基础2024-11-08 23:10:04
  • 逆战java基础教学2024-11-08 23:10:04
  • java基础测试猫吃鱼2024-11-08 23:10:04