版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《Java基础》课后习第1章Java开发1、Java的三大体系分别 3、编译Java程序需要使 命令4、javac.exe和java.exe两个可执行程序存放在JDK安 下5 Java虚拟机要运行的“.class”文件路径。A、Java编译 B、Java运行工具C、Java文档生成工具D、Java打包工2、Java B、汇编语言 3、下面哪种类型的文件可以在Java虚拟机中运行?A、 B、 C、 D、4、安装好JDK后,在其bin 下有许多exe可执行文件,其中java.exe命令的作用是以下哪一A、Java文档制作工 B、Java解释器C、Java编译 D、Java启动 B.d 1Java2JREJDK的区别。 oWorld程序,在dos命令行窗口编译运行。请按照题目的要求编写程序并第2章Java 5、在Java中,byte类型数据 个字节,short类型数据 个字节,int类型数据 个字节,long类型数据 7、若x=2,则表达式(x++)/3的值 8、若inta=2;a+=3;执行后,变量a的值 9、若int[]a={12,45,34,46,23};,则a[2]= 10、若inta[3][2]={{123,345},{34,56},{34,56}},则a[2][1]= 1、Java3、continue5、-5%32。 4、以下选项中,switch(多选A、 D、5intx2x>0?x+1:5A、 A、for语 B、if语 D、switch语8、下面哪种写法可以实现数组arr的第1个元素 9、以下哪个选项可以正确创建一个长度为3的二维数组?A、newint B、newC、new D、以上答案皆不intintx=1;inty=if(x%2==0){}elsey--}}System.out.println("y="+ D、switch语句publicpublicclassTest01publicstaticvoidmain(String[]args){byteb=3;b=b+4;System.out.println("b="+b);}}publicpublicclassTest02publicstaticvoidmain(String[]args){intx=12;{inty=96;System.out.println("xis"+x);System.out.println("yis"+}y=System.out.println("xis"+}}publicpublicclassTest03publicstaticvoidmain(Stringargs[]){intx=4,j=0;switch(x){case1:casecasecasecase}}}publicpublicclassTest04publicstaticvoidmain(Stringargs[]){intn=9;while(n>6){}}}2yx+ (x>0y (x=0)x2 (x<0请设计一个方法实现上面的函数,根据传入的值xyif…elseif..elsexy3、请编写程序,实现对数组{25,24,12,76,101,96,28}的排序。第3章面向对象(上1、面向对象的三大特征 2、在Java中,可以使用关键 3、定义在类中的变量被称 4、面向对象程序设计的重点 的设计 56、当一个对象被当成从内存中释放时,它
7、被static关键字修饰的成员变量被称 9、在Java中,提供了一个 命令,用于将程序中的文档注释提取出来,生成HTML格式的帮10、所谓类的封装是指在定义一个类时,将类中的属性,即使用 2、Java中的每个类都至少有一个构造方法,一个类中如果没有定义构造方法,系统会自动为这个类3、构造方法时,不能使用private关键字修饰4、类中static修饰的变量或方法,可以使用类名或对象的变量 2、下面哪一个是正确的类的?A、public void B、public C、public void D、public class A、类定义 B、创建对象 C、调用对象方法 D、使用对象的变量C、在方法中不能使用return5this调用类的构造方法,下面的说法正确的是?(多选)Athisthis([1,2…])Bthis调用其它的构造方法A、成员变量 publicclassTestpublicclassTest{publicTest(){}publicTest(intx){}publicTest(booleanb){}publicstaticvoidmain(String[]args){Testtest=newTest(true);}} 10、OuterInner,需要在main()Inner类实例对象,以下A、Innerin=new B、Innerin=newC、Outer.Innerin=new D、Outer.Innerin=newOuter().newclassclassAprivateintsecret=}publicclassTest1publicstaticvoidmain(String[]args){Aa=newA();}}}publicpublicclassTest2{intx=50;staticinty=200publicstaticvoidmethod(){}publicstaticvoidmain(String[]args){}}publicpublicclassOuterpublicStringname="Outer";privateclassInner{Stringname="inner";voidshowName(){}}publicstaticvoidmain(String[]args){Innerinner=newOuter().newInner();}}1、请按照以下要求设计一个学生类Student,并进试。Student类中包含、成绩两个属Student类中定义一个无参的构造方法和一个接收两个参数的构造方法,两个参数分别为在测试类中创建两个Student对象,一个使用无参的构造方法,然后调用方法给和成绩赋2、定义一个Father和Child类,并进试。FatherStringname,name的值为定义一个测试类TestTestmain()ChildintroFather方第4章面向对象(下 或 5、JDK中定义了大量的异常类,这些类都 类
9、异常的捕获通常由try、catch两部分组成, 10、在Java语言中,要想是将一个已编译的类打包成jar文件,可以使用令是 令行窗口运行jar文件,可以使用令是 2、Java中被finalA、多 C、superthisD、superthisA、 B、 C、 8、System类位于以下哪个包中? classclassManagerextendsEmployeer;classDirectorextendsEmployee;A、Employeee=newManager(); B、Directord=newManager();C、Directord=new D、Managerm=newpublicpublicclassApublicstaticvoidmain(String[]args){Bb=newB();}voidtest(){}}classBextendsA{voidtest(){}} B、代码可以编译运行,并输出结果AB publicpublicclassTest01publicstaticvoidmain(String[]args){try{intx=2/0;}catch(Exceptione)System.out.println("System.out.println("进入catch代码块}finallySystem.out.println("进入finally代码块}}}finalfinalclassAnimalpublicfinalvoidshout()程序代}}classDogextendsAnimal{publicvoidshout(){程序代}}classTest02publicstaticvoidmain(String[]args){Dogdog=newDog();}}classAnimal{voidclassAnimal{voidshout()}}classDogextendsAnimal{voidshout(){}}publicclassTest03publicstaticvoidmain(String[]args){Animalanimal=newDog();}}interfaceinterfaceAnimalvoidvoidrun();voidvoidrun();voideat(){};}classDogimplementsAnimal{publicvoidbreathe(){System.out.println("I’m}publicvoideat()System.out.println("I’m}}publicclasstest04publicstaticvoidmain(String[]args){Dogdog=newDog();}}1Student和它的一个子类Undergraduate本科生类Undergraduatedegree()属性。有一个包含三个参数的构造方法,前两个参数用于给继承的name和agedegreeshow()方法用于打印Undergraduate的属性信息在测试类中分别创建StudentUndergraduateshow()。2、设计一个Shape接口和它的两个实现类Square和Circle,要求如下:Shape接口中有一个抽象方法area()doubleSquareCircleShapearea()抽象方法,分别求正方形和圆形的面积并返回在测试类中创建SquareCircle23的圆形面积3、自定义一个异常类NoThisSoundException和yer类,在yer的y()方法中使用自定义1)NoThisSongExceptionException类,类中有一个无参和一个接收一个String类型参数的super关键字调用父类的构造方法。2)yer类中定义一个y(intindex)方法,方法接收一个int类型的参数,表示歌曲的索引,当index>10时,paly()方法用throw关键字抛出NoThisSongException异常,创建异常 yer对象,并调用y()方法测试自定义的NoThisSongException异常,使用try…catch语句捕获异常,调用NoThisSongException的getMessage()方法打印出异常第5章多线程 接口 4、在Java语言中,同步方法需要用到关键字 7、线程的优先级用1~10之间的整数来表示,其中 方法 A、定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的BThreadThreadrun()方法,创建该子类的实例对象,调用对象的CRunnablerun()方法,创建该类实例对象,将其作为参数传递ThreadThread对象,调用Threadstart()方法DRunnablerun()方法,创建该类对象,然后调用run()方法3Runnable接口创建线程,下面说法正确的有哪些?(多选)CJava的单继承带来的局限性D、编写简单,可以不通过ThreadAstart()方法,该线程就进入运行状态Brun()catchInterruptedException等异常终结,那么该线程进入C、线程进入状态,但是该线程对象仍然是一个Thread对象,在没有被回收器回收之前D、线程进入状态后,调用它的start()方法仍然可以重新启动B、Java虚拟机没有检测和处理死锁的措施Bjoin()方法7、线程调用sleep()方法后,该线程将进入以下哪种状态? A、线程调用了sleep()方法时 B、线程调用了join()方法C、线程调用了yield()方法时 10、对于wait()方法,下面说法正确的是?(多选)D、调用wait()方法的线程会释放同步锁对象classRunHandler{publicclassRunHandler{publicvoidrun(){}}publicclassTestpublicpublicstaticvoidmain(String[]args){Threadt=newThread(newRunHandler());}}publicpublicclassAextendsThread{protectedvoidrun(){System.out.println("thisis}publicstaticvoidmain(String[]args){Aa=newA();}}publicpublicclassprivateObjectobj=newObject();publicsynchronizedvoida(){try}catch(InterruptedExceptione){}}publicstaticvoidmain(String[]args){newTest().a();}}publicclassBimplementsRunnable{publicpublicclassBimplementsRunnable{publicstaticvoidmain(String[]args){Threadt=newThread(new }publicvoidrun(){System.out.println("Threadisrunning");}publicvoidgo(){}publicvoidstart(inti)}}}2、sleep()wait()有什么区别?1、通过继承ThreadThread构造方法中指定线程的名字,并将这两个线2Runnablemain100此次“main”,新线程50次“new”。4101101120...91第6章 2、Java中的操作日期的类 ,它位 包中 9、System类中所提供的属性和方法都是 的,想要这些属性和方法,直接使用System类调10sbStringBuffersb.toString()"abcdesb. 1、String对象和StringBuffer2、用运算符“==true。3、System类中的currentTimeMillis()long类型的值。4、Date、CalendarDateFormatjava.util5、String类的方法rece(CharSequencesrt1,CharSequencesrt2)返回一个新的字符串,它是通过用srt2替换此字符串中出现的所有srt1得到的。StringStringstr=String[]arr=str.split("c");A、2 B、3 C、4 D、52、以下都是Math B、floor() C、abs() 3、Random对象能够生成以下哪种类型的随机数?A、 D、A和4、Strings="abcdedcba";则s.substring(3,4)返回的字符串是以下选项中的哪个? 5、假若indexOf()方法未能找到所指定的子字符串,则返回以下选项中的哪个?A、false B、0 A. B. C. D.StringBufferStringBufferbuf=new publicpublicclasstestpublicstaticvoidmain(Stringargs[]){inti;floatf=2.3f;doubled=i=((int)Math.ceil(f))*((int)Math.round(d));}}A、 D、StringStringstr1=newString("java");Stringstr2=newStringBufferstr3=newA、str1==str2; B、str1.equals(str2);C、str1==str3;D、以上都不对publicclasspublicclassApublicstaticvoidmain(String[]args){publicstaticvoidmain(String[]args){System.out.println(Math.max(8.1,-System.out.println(Math.min(6.1,-}}publicpublicclassBpublicstaticvoidmain(String[]args){Strings="dfferghuklmbdfd";System.out.println("str.length():"+s.length());System.out.println("str.charAt(0):"+s.charAt(0));System.out.println("lastIndexOf(m):"+s.lastIndexOf('m'));System.out.println("substring(2,4):"+s.substring(2,4));System.out.println("indexOf(g):"+}}1、StringStringBuffer2、DateCalender类有什么区别和联系?toUpperCase()方法将其转换为大写字符定义一个StringBufferappend()方法依次添加遍历的字符,最后调用StringBuffer对toString()方法,并将得到的结果输出。2100xxxxxx日的形式打印出来。Calendaradd()100Calendar的getTime()Date2)FULLDateFormatformat()方法格式化Date3Random520~50第7章集合类 接口3、Collection有两个子接口分别是List和Set,List集合的特点是 ,Set集合的特点 4、使用Itor遍历集合时,首先需要调用 8、List集合的主要实现类有 ,Set集合的主要实现类有 Map集合的 9、Map集合中元素需要调用 10、java.util包中提供了一个专门用来操作集合的工具类,这个类是 5、LinkedList在内部了一个双向循环链表,每一个元素节点都包含前一个元素节点和后一个元A、 D、 3、使用Itor时,判断是否存在下一个元素可以使用以下哪个方法? 4、关于foreach循环的特点,以下说法哪些是正确的?(多选)D、foreach循环的语法格式为:for() A、 D、 B、ArrayList A、LinkedList集合在增删元素时效率较高B、ArrayList集合在查询元素时效率较高C、HashMapnullnull值D、HashSet集合中元素可重复并且无序9、以下哪些方法是LinkedList集合中定义的?(多选 C、remove(intindex) A、 C、get(int D、add(Objectimportjava.util.*;publicimportjava.util.*;publicclassTest01{publicstaticvoidmain(String[]args){TreeSetts=newTreeSet(); torit=ts.i while(it.hasNext()){}}}importimportjava.util.ArrayList;publicclassTest02{publicstaticvoidmain(String[]args){ArrayListlist=newArrayList();for(Stringobj:list){}}}importimportpublicclassTest03publicpublicstaticvoidmain(String[]args){ArrayListlist=newArrayList(); torit=list.listI while(it.hasPrevious()){Objectobj=it.previous();System.out.print(obj+"");}}}importjava.util.*;importimportjava.util.*;importjava.util.Map.*;publicclassTest04{publicstaticvoidmain(String[]args){Mapmap=newHashMap();map.put(1,map.put(2,SetkeySet= torit=keySet.i while(it.hasNext()){Objectkey=it.next();}}}2、集合中的List、Set、Map3CollectionCollections的有什么区别?1、使用ArrayList集合,对其添加10个不同的元素,并使用Itor遍历该集合。使用add()ArrayList调用集合的itor()方法获得Itor对象,并调用Itor的hasNext()和next()方法,迭代出2、在HashSet集合中添加三个对象,把相同的人当做同一个人,重复添加 namename相同,hashCode()方法的返回值相同,equalstrue。3、选择合适的Map集合保存5位学员的学号和,然后按学号的自然顺序的倒序将这些键值对一TreeMap使用put()方法将学号(“1”、“2”、“3”、“4”、“5”)和(“Lucy”、“John”、“Smith”、“Aimee”、“Amanda”)到Map中,存的时候可以打乱顺序观察排序后的map.keySet()Set使用Set集合的 tor对象用于迭代键第8章IO(输入输出1、Java中的IO流,按照传输数据不同,可分 2、在Java中 3、在Java中, 类用来把两个或的InputStream输入流对象合并为单个InputStream输入流对4、Java中提供了一个类 ,它 通 和 8、System.out是 类的对象,称为标准输出流,调用System类的 10、BufferedWriter的 1、如果一个File表 3、使用ObjectInputStream与ObjectOutputStream类来或的对象必须要实现Serializable接口,否则程序将出现NotSerializableException异常。5、一般来说,把字符转换成计算机识别的字节序列称为,而把字节序列转换为普通人能看懂的A、System.In B、System.Out 2、以下选项中,哪个是FileOutputStream的父类? 3、File类中以字符串形式返回文件绝对路径的的方法是? A、 A、RandomAccessFile(newFile(“D:\\\\dir1\\test.java”),”rw”)B、RandomAccessFile(“D:\\\\dir1\\test.java”,”r”)D、RandomAccessFile(“D:\\\\dir1\\test.java”,”wr”)6InputStream类的方法?(多选) B、voidflush() C、voidclose() A、BuffereOutputStream B、FileInputStream 8、以下选项中,哪个是File类delete()方法返回值的类型?A、boolean B、int C、String D、IntegerA、FileReader 10、以下对File类的publicbooleaisFile()方法的描述,哪个是正确的? importjava.io.*;publicimportjava.io.*;publicclassTest1{publicstaticvoidmain(Stringargs[])throwsException{inta=4;BufferedReaderbr=newBufferedReader(new String intb=Integer.parseInt(input);intsum=b/a;}}} importjava.io.*;classTest2{publicstaticvoidmain(String[]args){Stringfile1,file2;intchimportjava.io.*;classTest2{publicstaticvoidmain(String[]args){Stringfile1,file2;intch=file1="readme.txt";file2="readme.bak";try{FileInputStreamfis=new fos=newFileOutputStream(file2);int while((ch=fis.read())!=-1){}}catch(IOExceptione){}}}、在玩游戏的时候输入后成功进入游戏(输错5次则被强行退出),要求用程序实使用Sysytem.in包装为字符流键盘输入在for循环判中判断输入的是否为“123456”,如果是则打印“恭喜你进入游戏”,并跳 第9章GUI(图形用户界面1GUI、java.awt、javax.swing2、适配器3、4、 6、窗体、键盘、鼠标、动7WindowListener、windowClosing(WindowEvente)8、模态框、非模态框9、1、对2、错 3、对4、错5、错1、 7、 1Stdno=newJTextField();Name=new21通过实现XxxListener接口或者继承XxxAdapter类实现一个器类,并对处理2AWT是 WdowooKt(象窗口具包的缩写,个工具提供了套与本图形界面进行互的接。WT的图形数与操统所提供图形函之间有一一对的关系,当我们利用WT来件图形户界的时候我实际上是利用操系统所供的图库。由于不同操系统的形库所供的功是不一的在一个平上存在功能在外一个台上则可能不存。为了现Jaa语所宣的"一次,到处运行的概念WT得不通牺牲功来实现其台无关,也就说,WT所提供形功能是种通用操作系所提供图形功能的交集。于WT依靠本方法来现其功,我们通把WT件称为量级控。Swing是在AWT的基础上构建的一套新的图形界面系统,它提供了AWTJava代码对AWT的功能进行了大幅度的扩充。由于在Swing中没有使用本地方Swing控件称为轻量级控件。AWT和Swing之间的基本区别:AWTC/C++程序,其运行速度比较快;SwingAWTJava程序,其运行速度比较慢。对于一个嵌入式应用来说,目标平台的硬件单而高效的AWTJavaPCJavaJava中则提倡使用Swing,也就是通过牺牲速度来实现应用程序的功能。1importimportimportjava.awt.event.*;importjavax.swing.*;publicclassMyMouseHandlerextendsJFrame{publicMyMouseHandler(){finalJLabellabelnewJLabel("this.add(label,BorderLayout.NORTH);this.setSize(300,this.addMouseListener(newMouseAdapter(){publicvoidmouseClicked(MouseEvente){if(e.getButton()==e.BUTTON1){intx=e.getX();inty=Stringbanner鼠标当前点击位置的坐标是x}}}publicstaticvoidmain(String[]args){newMyMouseHandler();}}2importjava.awt.*;importjava.util.*;importjavax.swing.*;importimportjava.awt.*;importjava.util.*;importjavax.swing.*;importjava.awt.event.*;publicclassInformationextendsJFrame窗口NORTH部的JPanel面privateJPanelpanel=newprivateJLabellb1=newJLabel("三个表示的JCheckBox复选privateJCheckBoxcb1newJCheckBox("羽毛球");privateJCheckBoxcb2newJCheckBox("乒乓球");privateJCheckBoxcb3=newJCheckBox("唱歌");privateJLabellb2=new //表 的JRadioButton单选privateJRadioButtonrb1newJRadioButton("男");privateJRadioButtonrb2newJRadioButton("女//ButtonGroup添加JRadioButton,实现单选功能privateButtonGroupbgnewButtonGroup();privateJTextAreaarea=new窗口CENTER部的JScrollPane面板,其中放置areaprivateJScrollPanepane=newSet集合存放选中privateSet<String>hobbies=newgenderprivateStringgender=//JCheckBox复选框 privateActionListenerlistener1=newActionListener(){publicvoidactionPerformed(ActionEvente){JCheckBoxcb=(JCheckBox)选中的复选框把文本添加到Setif(cb.isSelected()){//}else}}//JRadioButton单选框 privateActionListenerlistener2=newActionListener(){publicvoidactionPerformed(ActionEvente){JRadioButtonjb=(JRadioButton)e.getSource();gender=jb.getText();}打印方privatevoidprint()如果Setif(hobbies.size()>0) 有:"); tor<String>it=hobbies.i while(it.hasNext()){area.append(it.next()+"}如果gender不为空字符串,打if 为:"+}publicInformation() //为单选和复选按钮添加 将JPanel面板和JScrollPane面板添加到JFrame容器中Containercontainer=this.getContentPane();container.add(panel,BorderLayout.NORTH);container.add(pane,BorderLayout.CENTER);}publicstaticvoidmain(String[]args){newInformation();}}3importimportimportjava.awt.*;importjava.awt.event.*;publicclassextendsJFrameimplementsActionListenerJLabellabelnewJLabel("请选择菜单JJItemaa(){ItemaaItemItemItem,Bar=new=new=new("菜单("菜单Item("Item("菜单项Item("Item=newJItem=newJItem=newgetContentPane().add(label,}publicvoidactionPerformed(ActionEvente) Itemsource=(J Iteme.getSource());label.setText("选择了菜单:"+source.getText());}publicstaticvoidmain(Stringargs[]){JFrameframe=newMy frame.setSize(300,200);}1、在Java中,图形用户界面简 2、为了避免实现器中定义的所有方法,造成代码的臃肿,在JDK中提供了一些 3、在Java中 4、 5、大部分的Swing组件都是 类的直接或者间接子类,其名称都是在原来AWT组件名称前加上字母J。6、AWT有多种多样,大致可以分 等7、如果点击Frame窗口右上角的关闭按钮能将其关闭,那么这个Frame窗口添加了 器,并实现了器的实现了 8、框可以分 9、每一个容器都有一个默认的布局管理器,如果不希望通过布局管理器对容器进行布局,可以调 2、可以通过实现ActionListener接口或者继承ActionAdapter类来实现动作时间器5、JFrameFlowLayout。 2、每一个GUI程序中必须包含一个什么组件? B、C、菜单 A、B、 D、A、 D、5、ActionEvent的对象会被传递给以下哪个处理器方法? A、FlowLayout布局管理 B、BorderLayout布局管理C、CardLayout布局管理 D、GridLayout布局管理 8、下面对与Swing的描述,正确的有哪些?(多选A、SwingAWTB、Swing提供了AWTC、SwingJava9、下面四对AWT和SwingA、ButtonJButtonB、DialogC、Bar和JD、ComboBox importjava.awt.*;importjavax.swing.*;importjava.awt.*;importjavax.swing.*;publicclassMyLayout /*此处填空*JLabellabelNo,labelName,labelGender;JTextFieldstdno,name,gender;intContainercp=getContentPane();publicMyLayout(){学号=newJLabel("labelNo、=newJLabel("labelName、=newJLabel("labelGender、 //此处填空 此处填空gender=newJTextField();cp.add(labelNo);cp.add(labelName);cp.add(labelGender);labelNo.setBounds(0,y,w,h)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版智能家居安防系统试用合同3篇
- 二零二五版办公家具租赁与办公空间智能化改造合同2篇
- 二零二五年度国际商务考察合同范本3篇
- 二零二五年度金融机构贷款合同风险评估与管理指南3篇
- 二零二五年度某零售商与第三方支付平台就支付服务合作合同2篇
- 敬老院二零二五年度土地承包及社区服务一体化合同3篇
- 二零二五年船舶通信设备维护船员聘用合同3篇
- 二零二五年智慧交通项目合作开发合同范本3篇
- 二零二五年度搬家搬运服务合同范本2篇
- 二零二五版导游人员旅游活动组织聘用合同3篇
- 深圳2024-2025学年度四年级第一学期期末数学试题
- 中考语文复习说话要得体
- 《工商业储能柜技术规范》
- 华中师范大学教育技术学硕士研究生培养方案
- 医院医学伦理委员会章程
- 初中班主任案例分析4篇
- 公司7s管理组织实施方案
- Q∕GDW 12147-2021 电网智能业务终端接入规范
- 仁爱英语单词默写本(全六册)英译汉
- 公园广场绿地文化设施维修改造工程施工部署及进度计划
- 塑料件缺陷汇总
评论
0/150
提交评论