Java基础入门课后习题答案.doc

上传人:w****2 文档编号:6561655 上传时间:2020-02-29 格式:DOC 页数:16 大小:70.50KB
返回 下载 相关 举报
Java基础入门课后习题答案.doc_第1页
第1页 / 共16页
Java基础入门课后习题答案.doc_第2页
第2页 / 共16页
Java基础入门课后习题答案.doc_第3页
第3页 / 共16页
点击查看更多>>
资源描述
Java基础入门习题答案第1章 Java开发入门一、填空题1、 Java EE、Java SE、Java ME2、 JRE3、 javac4、 bin5、 path、classpath二、选择题1、ABCD 2、C 3、D 4、B 5、B三、简答题1、 面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。2、 JRE(Java Runtime Environment,Java运行时环境),它相当于操作系统部分,提供了Java程序运行时所需要的基本条件和许多Java基础类,例如,IO类、GUI控件类、网络类等。JRE是提供给普通用户使用的,如果你只想运行别人开发好的Java程序,那么,你的计算机上必须且只需安装JRE。JDK(Java Development Kit,Java开发工具包),它包含编译工具、解释工具、文档制作工具、打包工具多种与开发相关的工具,是提供给Java开发人员使用的。初学者学习和使用Java语言时,首先必须下载和安装JDK。JDK中已经包含了JRE部分,初学者安装JDK后不必再去下载和安装JRE了。四、编程题 public class HelloWorld public static void main(String args) System.out.println(这是第一个Java程序!);第2章 Java编程基础一、填空题1、 class2、 true和false3、 单行注释、多行注释、文档注释4、 基本数据类型、引用数据类型5、 1、2、4、86、 & & | |7、 08、 59、 3410、 56二、判断题1、 错 2、对 3、错 4、对 5、错三、选择题1、 AD 2、AD 3、C 4、ABCD 5、C 6 、A 7、AC 8、A 9、B 10、A四、程序分析题1、 编译不通过。int值4和b相加时,由于变量b的类型为byte,取值范围没有int类型大,存不下int类型的值,因此编译不通过。2、 编译不通过。这是因为y是在最里层的代码块中定义的一个变量,只有在那个代码块中才可使用,在使用y = x;语句时已经超过了y变量的作用域,所以编译无法通过。3、 打印结果为:3。4、 打印结果为:987五、问答题1、Java语言的八种基本数据类型有:byte字节型,占一个字节。short短整型,占两个字节。int整型,占4个字节。long长整型,占8个字节。float单精度浮点型,占4个字节。double双精度浮点型,占8个字节。char字符型,占两个字节。boolean型,表示逻辑值,有true和false两个值,分别占一个字节。2、如果使用“&”在表达式之间进行连接,那么无论任何情况,“&”两边的表达式都会参与计算。如果使用“&”进行连接,当“&”左边的表达式为false,则不会执行其右边的表达式。例如定义int x = 2,y = 0; boolean b = x 0表达是会发生被0除异常,因为x / y的表达式执行了。而boolean b = x 0是不会出现这种异常的,因为x y为false,表达式x / y不会执行。3、方法重载指的是在一个类中可以声明多个同名的方法,而方法中参数的个数或者数据类型不一致。调用这些同名的方法时,JVM会根据实际参数的不同绑定到不同的方法。六、编程题 1、参考答案public class Test01 public static void main(String args) int sum = 0; for (int i = 1; i 0) return y; y = x + 3; y = 0; y = x * x - 1; else if (x = 0) else 3、参考答案public class Test03 public static void main(String args) int arr = 25, 24, 12, 76, 101, 96, 28 ; for (int i = 0; i arr.length - 1; i+) for (int i = 0; i arr.length; i+) System.out.print(arri + ); / 打印元素和空格 / 定义内层循环 for (int j = 0; j arrj + 1) / 比较相邻元素 / 下面的三行代码用于交换两个元素 int temp = arrj; arrj = arrj + 1; arrj + 1 = temp;第3章 面向对象(上)一、填空题1、封装、继承、多态2、new3、成员变量、局部变量4、类、类5、this6、finalize()7、静态变量8、内部类9、javadoc10、private二、判断题1、对 2、对 3、错 4、对 5、错三、选择题1、B 2、D 3、B 4、ABC 5、ABCD 6、ACD 7、ABCD 8、ABCD 9、D 10、D四、程序分析题1、程序不能编译通过,因为在类A中的成员变量secret用private修饰,所以在类Test1中无法访问。2、程序不能编译通过,因为在静态方法method()中不能访问非静态成员变量x。3、程序能够编译通过,运行的结果为“inner”。五、简答题1、构造方法是类的一个特殊成员,它会在类实例化对象时被自动调用。而普通方法只有在使用的时 候才会被调用。在定义构造方法时要求方法名与类名相同、在方法名的前面没有返回值类型的声 明、在方法中不能使用return语句返回一个值2、单例模式可以保证在整个程序运行期间针对该类只存在一个实例对象。六、编程题 1、参考答案class Student public class Test01 public static void main(String args) Student stu1 = new Student(); private String name; private double grade; public Student() public Student(String name, double grade) public String getName() public void setName(String name) public double getGrade() public void setGrade(double grade) this.grade = grade; return grade; this.name = name; return name; this.name = name; this.grade = grade; stu1.setName(zhangsan); stu1.setGrade(99); Student stu2 = new Student(lisi, 100);2、参考答案class Father public class Test02 public static void main(String args) Father.Child child = new Father().new Child(); child.introFather(); private String name = zhangjun; class Child public void introFather() System.out.println(My Fathers name is + name);第4章 面向对象(下)一、填空题1、继承2、方法,抽象类3、import4、子类、父类、基类5、Exception6、final7、super8、 Object9、try、catch10、jar cvf,java jar二、判断题1、错 2、对 3、错 4、对 5、对三、选择题1、B 2、C 3、ABC 4、 ABCD 5、C 6、AC 7、C 8、D 9、A 10、B四、程序分析题1、程序编译能通过,这是因为int x = 2 / 0; System.out.println(x);这两条语句使用了try块,捕获了程序因为除以0而产生的异常情况,之后程序会继续向下执行,输出“进入catch代码块”,“进入finally代码块”。2、程序编译不通过,这是因为在程序中使用了final关键字修饰Animal类,使得Animal类不能被继承。shout()方法中同样使用了final关键字,使得该方法不能被重写。3、程序编译能通过,输出结果为“动物叫!”和“汪汪”,因为在程序中调用shout()方法时,首先会通过super.shout()调用父类的方法说出“动物叫!”之后再输出“汪汪”4、程序编译不通过,因为接口中定义的方法不能有方法体,所以定义的eat()方法是错误的。接口中的方法必须在子类中全部实现,由于run()方法在子类中并没有重新实现,所以这也是错误的。五、简答题1、在继承关系中,子类的方法与父类的某一方法具有相同的方法名、返回类型和参数列表,则称子类的该方法重写(覆盖)父类的方法。2、多态意味着一个对象有着多种形态,可以在特定的情况下,表现不同的状态,从而对应着不同的属性和方法。简单的说,多态就是使用父类类型的变量引用子类对象,根据被引用子类对象的特性,程序会得到不同的运行效果。3、在Java中,使用abstract关键字修饰的类称之为抽象类。抽象类是不能被实例化的,通常需要写一个子类来继承抽象类,同时实例化子类来获得该类的对象。抽象类通常用于表示一种抽象的概念。 接口可以说是一种特殊的抽象类,接口中只能定义常量和抽象方法。由于接口的特殊性,在定义时需要使用interface关键字。六、编程题 1、参考答案class Student class UnderGraduate extends Studentpublic class Test01public static void main(String args) Student student = new Student(zhangsan, 16); student.show(); UnderGraduate underGraduate = new UnderGraduate(lisi, 20, bechalor); underGraduate.show(); public String degree; public UnderGraduate(String name,int age,String degree) public void show() System.out.println(name: +name+ age: +age+ degree: +degree); super(name, age); this.degree=degree; public String name; public int age; public Student(String name,int age) public void show() System.out.println(name: +name+ age: +age); this.name=name; this.age=age; 2、参考答案interface Shape class Square implements Shapeclass Circle implements Shapepublic class Test02 public static void main(String args) Shape square = new Square(); Shape circle = new Circle(); System.out.println(square.area(2); System.out.println(circle.area(3); public double area(double r) return Math.PI*r*r; public double area(double sideLength) return sideLength*sideLength; double area(double givenValue);3、参考答案class NoThisSongException extends Exceptionclass Playerpublic class Test03 public static void main(String args) Player player = new Player(); try public void play(int index)throws NoThisSongException if(index10) System.out.println(正在播放歌曲); throw new NoThisSongException(您播放的歌曲不存在); public NoThisSongException() public NoThisSongException(String message) super(message); super(); player.play(13); catch (NoThisSongException e) System.out.println(异常信息为: +e.getMessage();第5章 多线程一、填空题1、 线程、通信2、 Thread、Runnable3、 就绪4、 synchronized、对象、this5、 进程6、 新建状态(New)、就绪状态(Runnable)、运行状态(Running)、阻塞状态(Blocked)、死亡状态(Terminated)7、 10、18、 开启一个新线程、run()方法9、 wait()、notify()、notifyAll()10、setDaemon(true)、start()二、判断题1、错 2、对 3、对 4、错 5、错三、选择题1、B 2、AC 3、ABC 4、BC 5、ABD 6、ABC 7、C 8、D 9、AB 10、ABCD四、程序分析题1、程序不能编译通过,因为RunHandler类没有实现Runnable接口,因此RunHandler的实例对象不能作为参数传递给Thread的构造方法。2、程序不能编译通过,因为Thread的子类A重写的run()方法的访问级别不能低于父类run()方法的。访问级别3、程序不能编译通过,因为同步方法中调用wait()方法的对象必须为同步锁对象。4、t.start();五、简答题1、一种是继承java.lang包下的Thread类,覆写Thread类的run()方法,在run()方法中实现运行在线程上的代码。new Thread() public void run().start();另一种就是实现java.lang.Runnable接口,同样是在run()方法中实现运行在线程上的代码。new Thread(new Runnable()public void run().start()2、调用sleep()方法,正在执行的线程主动让出CPU去执行其他线程,在sleep()方法指定的时间过后,CPU才会回到这个线程上继续往下执行,如果当前线程进入了同步锁,sleep()方法并不会释放锁,即使当前线程使用sleep()方法让出了CPU,但其它被同步锁挡住了的线程也无法得到执行。wait()在一个已经进入了同步锁的线程内进行调用,让当前线程暂时让出同步锁,以便其它正在等待此锁的线程可以得到同步锁并运行。当其它线程调用了notify()方法后,调用wait()方法的线程就会解除wait状态,当再次获得同步锁后,程序可以继续向下执行。六、编程题 1、参考答案public class MyThread extends Threadpublic MyThread(String name) public void run() public static void main(String args) new MyThread(Thread1).start(); new MyThread(Thread2).start(); super(name); System.out.println(this.getName(); 2、参考答案public class MyRunnable implements Runnable public void run() public static void main(String args) new Thread(new MyRunnable().start(); for (int i = 0; i 100; i+) System.out.println(main); for (int i = 0; i 50; i+) System.out.println(new);3、参考答案public class Test01 class Teacher implements Runnable private int notes = 80; public void run() while (true) public static void main(String args) Teacher t = new Teacher(); new Thread(t, 陈老师).start(); new Thread(t, 高老师).start(); new Thread(t, 李老师).start(); dispatchNotes(); / 调用售票方法 if (notes 0) try System.out.println(Thread.currentThread().getName() + -发出的笔记 + notes-); Thread.sleep(10); / 经过的线程休眠10毫秒 e.printStackTrace(); catch (InterruptedException e) 4、参考答案public class Accumulator extends Thread private int stratNum; public static int sum; public Accumulator(int startNum) public static synchronized void add(int num) public void run() public static void main(String args) throws Exception Thread threadList = new Thread10; for (int i = 0; i 10; i+) for (int i = 0; i 10; i+) threadListi.join(); threadListi = new Accumulator(10 * i + 1); threadListi.start(); int sum = 0; for (int i = 0; i = 0; i-) System.out.println(buffer.toString(); if (chi = A & chi = a & chi = z) 2、 参考答案import java.text.DateFormat;import java.util.Calendar;import java.util.Date; public class Test02 public static void main(String args) Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DATE, 100); Date date = calendar.getTime(); DateFormat format = DateFormat.getDateInstance(DateFormat.FULL); String string = format.format(date); System.out.println(string);3、 参考答案import java.util.Random;public class Test03 public static void main(String args) Random rand = new Random(); int num = new int5; for (int i = 0; i num.length; i+) numi = 20 + rand.nextInt(31); System.out.println(numi); 第7章 集合类一、填空题1、集合2、Comparator3、有序、可重复,无序、不可重复4、hashNext()、next()5、Collection、Map6、键、值7、ListIterator8、ArrayList、LinkedList,HashSet、TreeSet,HashMap、TreeMap9、put()、get()10、Collections、Arrays二、判断题1、错 2、对 3、对 4、错 5、对三、选择题1、BC 2、A 3、D 4、ABD 5、C 6、AB 7、D 8、AB 9、ABC 10、B四、程序分析题1、程序可以编译通过,输出结果是“a、b、c”,因为TreeSet集合不允许存放重复元素,第2次增加的元素c会覆盖之前存入的元素c,所以输出结果是“a、b、c”,而不是“a、b、c、c”。2、程序不可以编译通过,这是由于向ArrayList集合中存入元素时,集合并不能记住元素的类型,因此在取出元素时,只能使用Object类型,而不能使用String类型。3、程序可以编译通过,但是什么也没有打印。使用ListIterator进行从后向前的遍历集合,可以使用以下两种方法,一是使用listIterator(int index)方法将索引index的值设置为集合元素的数目,也就是ListIterator it = list.listIterator(3);,二是将程序先从前向后遍历,然后再从后向前遍历。4、程序编译不通过,由于Map集合在遍历的过程中不能使用集合对象本身删除元素,这会导致并发修改异常,若想删除集合中的元素,可以使用Iterator的remove()方法。五、简答题1、为了使程序能方便的存储和操作数目不固定的一组数据,JDK提供了一套类库,这些类都位于java.util包中,统称为集合。集合框架中包含3个接口,分别是List、Set、Map。2、List的特点是元素有序、元素可重复。List接口的主要实现类有ArrayList和LinkedList。Set的特点是元素无序、元素不可重复。Set接口的主要实现类有HashSet和TreeSet。Map的特点是存储的元素是键(Key)、值(Value)映射关系,元素都是成对出现的。Map接口的主要实现类有HashMap和TreeMap。3、Collection是一个单例集合接口。它提供了对集合对象进行基本操作的通用方法。Collections是一个工具类。它包含各种有关集合操作的方法。六、编程题 1、参考答案import java.util.*;public class Test01 public static void main(String args) ArrayList list = new ArrayList(); for(int i = 0; i 10; i+) Iterator it = list.iterator(); while(it.hasNext() list.add(A+i); Object obj = it.next(); System.out.println(obj);2、参考答案import java.util.*; public class Test02 class PersonString name; int age; public Person(String name, int age) public int hashCode() return name.hashCode(); public boolean equals(Object obj) if (this = obj) return true; return false; if (obj = null) Person other = (Person) obj; super(); this.name = name; this.age = age; public static void main(String args) HashSet hashSet = new HashSet(); Person p1 = new Person(Jack,25); Person p2 = new Person(Rose,23); Person p3 = new Person(Jack,27); hashSet.add(p1); hashSet.add(p2); hashSet.add(p3); for(Object obj:hashSet) Person p=(Person)obj; System.out.println(p.name+:+p.age); return other.name.equals(this.name);3、参考答案import java.util.*;public class Test03 class MyComparator implements Comparator public int compare(Object obj1, Object obj2) String ele1 = (String) obj1; String ele2 = (String) obj2; return ele2.compareTo(ele1); public static void main(String args) TreeMap map = new TreeMap(new MyComparator(); map.put(1, Lucy); map.put(2, Lucy); map.put(3, John); map.put(4, Smith); map.put(5, Amanda); for (Object key : map.keySet() System.out.println(key + : + map.get(key);第8章 IO(输入输出)一、填空题1、 字节流、字符流2、 File、java.io3、 SequenceInputStream4、 RandomAccessFile5、 管道流6、 LineNumberReader、BufferedReader、setLineNumber(int)、getLineNumber()7、 字节流、字符流8、 PrintStream、setOut(PrintStream out)9、 Unicode10、newLine()二、判断题1、 错 2、对 3、对 4、对 5、错三、选择题1、AB 2、C 3、C 4、ABCD 5、AB 6、ACD 7、A 8、A 9、D 10、A四、程序填空题1、InputStreamReader、br.readLine()、运行结果为22、FileInputStream(file1)、FileOutputStream、fis.available()五、问答题1、Java程序通过流来完成输入和输出,流是输入或输出信息的抽象。流通过Java的输入/输出系统与外设连接进行数据通信。流是抽象的对象,具体实现代码在java.io包中。2、字节流的两个基类是InputStream和OutputStream,字符流的两个基类是Reader和Writer,它们都是Object类的直接子类,字节流是处理以8位字节为基本单位的字节流类;Reader和Writer类是专门处理16位字节的字符流类。3、管道流分为管道输入流(PipedInputStream)和管道输出流(PipedOutputStream),通常由一个PipedInputStream实例对象和一个PipedOutputStream实例对象相互连接而实现管道通信,PipedOutputStream向管道写入数据,PipedInputStream从管道中读取PipedOutputStream写入的数据,管道流主要用来完成线程之间的通信。六、编程题 1、参考答案import java.io.*;public class Test01 public static void main(String args) throws Exception / 字节流拷贝 FileInputStream in = new FileInputStream(E:/src.txt); FileOutputStream out = new FileOutputStream(E:/des1.txt); byte buf = new byte1024; int len; while (len = in.read(buf) != -1) in.close(); out.close(); / 字符流拷贝 BufferedReader bf = new BufferedReader(new FileReader(E:/src.txt); BufferedWriter bw = new BufferedWriter(new FileWriter(E:/des2.txt); String str; while (str = bf.readLine() != null) bf.close(); bw.close(); bw.write(str); bw.newLine(); out.write(buf, 0, len);2、参考答案import java.io.*;public class Test02 public static void main(String args) throws Exception BufferedReader br = new BufferedReader(new InputStreamReader(System.in); String password = ; boolean b = false; for (int i = 0; i 5; i+) if (!b) System.out.println(密码错误,游戏结束); System.exit(0); System.out.println(请输入密码:); password = br.readLine(); if (password.equals(123456) System.out.println(恭喜你进入游戏); b = true; break;第9章 GUI(图形用户界面)一、填空题1、 GUI、java.awt、javax.swing2、 适配器3、 Graphics4、 事件监听器5、 JComponent6、 窗体事件、键盘事件、鼠标事件、动作事件7、 WindowListener、windowClosing(WindowEvent e)8、 模态对话框、非模态对话框9、 setLayout(null)10、JMenuBar、JMenu、JMenuItem二、判断题1、对 2、错 3、对 4、错 5、错三、选择题1、D 2、D 3、ABD 4、A 5、D 6、ABCD 7、ABD 8、ABC 9、D 10、C四、程序分析题1、参考答案extendsStdno = new JTextField();Name = new JTexxtField();2、参考答案card.next(cp);cp.add(jbt);五、简答题1、参考答案l 通过实现XxxListener接口或者继承XxxAdapter类实现一个事件监听器类,并对处理监听动作的方法进行重写l 创建事件源对象和事件监听器对象l 调用事件源的addXxxLisntener()方法,为事件源注册事件监听器对象2、参考答案AWT 是Abstract Window ToolKit (抽象窗口工具包)的缩写,这个工具包提供了一套与本地图形界面进行交互的接口。AWT 中的图形函数与操作系统所提供的图形函数之间有着一一对应的关系,当我们利用 AWT 来构件图形用户界面的时候,我们实际上是在利用操作系统所提供的图形库。由于不同操作系统的图形库所提供的功能是不一样的,在一个平台上存在的功能在另外一个平台上则可能不存在。为了实现Java语言所宣称的一次编译,到处运行的概念,AWT 不得不通过牺牲功能来实现其平台无关性,也就是说,AWT 所提供的图形功能是各种通用型操作系统所提供的图形功能的交集。由于AWT 是依靠本地方法来实现其功能的,我们通常把AWT控件称为重量级控件。Swing 是在AWT的基础上构建的一套新的图形界面系统,它提供了AWT 所能够提供的所有功能,并且用纯粹的Java代码对AWT 的功能进行了大幅度的扩充。由于在Swing 中没有使用本地方法来实现图形功能,我们通常把Swing控件称为轻量级控件。AWT和Swing之间的基本区别:AWT 是基于本地方法的C/C+程序,其运行速度比较快;Swing是基于AWT 的Java程序,其运行速度比较慢。对于一个嵌入式应用来说,目标平台的硬件资源往往非常有限,而应用程序的运行速度又是项目中至关重要的因素。在这种矛盾的情况下,简单而高效的AWT 当然成了嵌入式Java的第一选择。而在普通的基于PC或者是工作站的标准Java应用中,硬件资源对应用程序所造成的限制往往不是项目中的关键因素,所以在标准版的Java中则提倡使用Swing,也就是通过牺牲速度来实现应用程序的功能。六、编程题 1、参考答案import java.awt.*;import java.awt.event.*;import javax.swing.*;public class MyMouseHandler extends JFrame public MyMouseHandler() final JLabel label = new JLabel(此处显示鼠标右键点击的坐标); label.setOpaque(true); label.setBackground(Color.PINK); this.add(label, BorderLayout.NORTH); this.setSize(300, 200); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.addMouseListener(new MouseAdapter() public void mouseClicked(MouseEvent e) if (e.getButton() = e.BUTTON1) int x = e.getX(); int y = e.getY(); String banner = 鼠标当前点击位置的坐标是 + x + , + y; label.setText(banner); ); this.setVisible(true); public static void main(String args) new MyMouseHandler();2、参考答案import java.awt.*;import java.util.*;import javax.swing.*;import java.awt.event.*;public class Information extends JFrame / 窗口NORTH部的JPanel面板 private JPanel panel = new JPanel(); / 爱好标签 private JLabel lb1 = new JLabel(爱好); / 三个表示爱好的JCheckBox复选框 private JCheckBox cb1 = new JCheckBox(羽毛球); private JCheckBox cb2 = new JCheckBox(乒乓球); private JCheckBox cb3 = new JCheckBox(唱歌); / 性别标签 private JLabel lb2 = new JLabel(性别); / 表示性别的JRadioButton单选框 private JRadioButton rb1 = new JRadioButton(男); private JRadioButton rb2 = new JRadioButton(女); / ButtonGroup添加JRadioButton,实现单选功能 private ButtonGroup bg = new ButtonGroup(); / 文本域组件 private JTextArea area = new JTextArea(); / 窗口CENTER部的JScrollPane面板,其中放置area文本域 private JScrollPane pane = new JScrollPane(area); / Set集合存放选中的兴趣 private Set hobbies = new HashSet(); / gender选中的性别 private String gender = ; / JCheckBox复选框的事件监听器 private ActionListener listener1 = new ActionListener() public void actionPerformed(ActionEvent e) JCheckBox cb = (JCheckBox) e.getSource(); / 选中的复选框把文本添加到Set集合中 if (cb.isSelected() hobbies.add(cb.getText(); / 反之从集合中移除 else ; hobbies.remove(cb.getText(); print(); / JRadioButton单选框的事件监听器 private ActionListener listener2 = new ActionListener() ; private void print() public Information() /添加标签、单选和复选按钮 panel.add(lb1); panel.add(cb1); panel.add(cb2); panel.add(cb3); panel.add(lb2); panel.add(rb1); panel.add(rb2); bg.add(rb1); bg.add(rb2); / 为单选和复选按钮添加事件监听器 cb1.addActionListener(listener1); cb2.addActionListener(listener1); cb3.addActionListener(listener1); rb1.addActionListener(listener2); / 清空文本域 area.setText(); / 如果Set集合中有元素,打印兴趣 if (hobbies.size() 0) area.append(你的兴趣爱好有: ); Iterator it = hobbies.iterator(); while (it.hasNext() / 如果gender不为空字符串,打印性别 if (!.equals(gender) area.append(你的性别为: + gender); area.append(it.next() + ); public void actionPerformed(ActionEvent e) JRadioButton jb = (JRadioButton) e.getSource(); gender = jb.getText(); print(); / 打印方法 rb2.addActionListener(listener2); / 将JPanel面板和JScrollPane面板添加到JFrame容器中 Container container = this.getContentPane(); container.add(panel, Bor
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!