Java课程设计报告计算器,输入输出流读取iris.txt文件,黄金卡,多线程动画,记事本.pdf

上传人:g****s 文档编号:85911152 上传时间:2023-04-13 格式:PDF 页数:36 大小:1.46MB
返回 下载 相关 举报
Java课程设计报告计算器,输入输出流读取iris.txt文件,黄金卡,多线程动画,记事本.pdf_第1页
第1页 / 共36页
Java课程设计报告计算器,输入输出流读取iris.txt文件,黄金卡,多线程动画,记事本.pdf_第2页
第2页 / 共36页
点击查看更多>>
资源描述

《Java课程设计报告计算器,输入输出流读取iris.txt文件,黄金卡,多线程动画,记事本.pdf》由会员分享,可在线阅读,更多相关《Java课程设计报告计算器,输入输出流读取iris.txt文件,黄金卡,多线程动画,记事本.pdf(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 JAVA 课程设计 一、实验目的(小四号宋体加粗)通过课程设计,主要要达到两个目的,一是检验和巩固专业知识、二是提高综合素质和能力。信科 09 级学生的课程设计主要是 Java 语言程序设计的实现。通过该课程设计,可以将学生课堂上掌握的理论知识与处理数据的业务相结合,以检验我们同学们掌握知识的宽度、深度及对知识的综合运用能力。二、实验环境(如软硬件)CPU:Inter(R)Pentium(R)CPU P6000;显卡:NVIDIA GeForce 310M;硬盘:320G;内存:2G;操作系统:Windows 7;编译器:JDK 三、实验内容 1、内容一 设计一个计算器,利用它可以进行简单的

2、四则运算(加、减、乘、除、开方)等,但仅限于十进制下,此外还可以进行(八进制,十进制,十六进制)之间的相互转换。要求:有简单的需求分析,功能设计,详细设计(程序流程),异常处理,测试,源程序清单,总结,具体格式见附件。知识点:掌握 图形用户界面设计;掌握基本类的设计与使用;掌握事件处理机制;掌握使用异常处理方法。2、文件的分割符)知识点:掌握使用 JAVA 的输入输出流 掌握使用 String 类以及和基本数据类型的转换。3、内容三 “湖南经视台猜“黄金卡”节目简介如下:有三张卡,其中两张银卡,一张黄金卡,放在把背面提供给竞猜者来猜,本节目存在三种选择方法。方法一:在竞猜者随机三选一后,不再改

3、变选择的结果;方法二:在竞猜者随机三选一后,主持人再翻开剩下两张中没有被选中的一张银卡,竞猜者再重新在剩下的两张卡中随机选择。方法三:在竞猜者随机三选一后,主持人再翻开剩下两张中没有被选中的一张银卡,竞猜者改变原来的选择,选取剩下的唯一那张没有翻开的卡。要求:(1)请用图形用户界面设计方法一的竞猜过程,(2)利用蒙特卡洛仿真方法验证湖南经视台猜“黄金卡”节目三种不同方法的湖南商学院北津学院 java 课程设计报告 第2 页 共 36 页 优劣。知识点:掌握事件处理机制;掌握随机采样的方法;掌握图形用户界面设计;(注:采用图形用户方式设计)4、内容四:设计一个记事本,菜单中要求有文件,编辑,和帮

4、助。文件中有新建、打开、保存和退出;编辑中有剪切、复制和粘贴;帮助中显示开发人和版本信息。知识点:掌握 图形用户界面设计;掌握基本类的设计与菜单设计;掌握事件处理机制;掌握使用异常处理方法。5、内容五:一个多线程的动画 知识点:Java 中线程的实现;线程的优先级、调度与同步;设计步骤:窗口布局设计 设计线程类 MainPanel 类的设计 实验效果为:程序功能:每点击一次“Start”按钮,就会在画面上出现一个新的小球。这些小球按照一定的线路移动,而且小球的移动速度是相同的。湖南商学院北津学院 java 课程设计报告 第3 页 共 36 页 四、算法分析、设计与描述 1.算法分析、设计 内容

5、一:首先,完成计算器界面的设计,构造 Calculator 类,申明基本属性,包括框架属性和按钮属性。另外在构造器中完成界面布局和各种按钮以及文本框的初始化,并且添加事件响应。其次在构造方法中,使用 String 数组存储每个按钮的名称,同时使用 for 循环完成每个按钮的显示初始化。最后在写出各事件,如数字事件、符号事件、等号事件,并写出各类运算函数,如加法、减法、乘法、除法,最后于主函数中调用各功能及运算 内容二:并对此文件的每列元素进行处理(求和、求平均值)。为保证读取文件的正确性,采用字符流读取文件,然后再按行读取,读取一行处理一行。内容三:本程序算法要实现模拟黄金卡猜选的第一种方法,

6、并且要通过蒙特卡罗仿真法比较三种方法的优劣。该算法主要是 Math 类产生随机数方法的运用。通过 Jframe 进行布局分别用,并统计出三种猜测方法的猜中次数以及概率。模拟方法一:采用产生随机数的方法并判断两次产生的随机数是否相等,若相等则猜中,若不等则相反,并根据实验次数得出最后的正确结果的概率与次数。内容四:在算法设计上,先设计出计算器面板,菜单放在菜单条里,菜单项放在菜单里,在本程序中,设计了一个菜单栏和文本区,设计过程中用到了JScrollPane,JMenu,JTextPane,JMenuBar用来用菜单,菜单包括“文件”“编辑”“帮助”,JMenuItem 用来用菜单子项,JTex

7、tPane 主要用来输入文本。内容五:在本程序中,创建一个窗体对象,把小球所在的内容面板添加到窗体中,把按钮所在的面板添加到内容面板的下方。创建一个线程类,创建了小球对象的同时,创建并启动线程。以实现多线程动画的操作。2算法描述(可插入流程图)内容一:用 switch 语句判断点击的是什么类型的按钮,是数字键则接受数字到输入框,是运算符则执行相应的运算,加减乘除算法的描述:用 switch 语句判断点击的是何种算法,定义一个变量mark存放运算符,实现对应的运算。湖南商学院北津学院 java 课程设计报告 第4 页 共 36 页 进制转换算法描述:用 if 语句判断选中的进制对应的选择框(默认

8、选中的是十进制),并对该事件做对应的按钮处理,用变量 length 判断上次选中的是哪个进制的选择框,用来进行相互转换,然后进行运算。假如是非十进制,则先转化成十进制,然后再转化成需要的进制。内容二:用 while 循环对文件按行读取存放到字符型变量s 里,只要 s 不为 null 则循环,在循环里加一个计数器 count,用于记录文件的行数用于求平均值,每行按分隔符t 进行行的分割,把每行的第 i 个元素累加到浮点型数组 sumi里,读取完后在进行求平均值的运算。最后打印出每列总和及每列平均值。内容三:按钮界面:黄金卡中要设计到相应的一个开始游戏的按钮和一个重新开始的按钮,我采用的是 JBu

9、tton,分别建立的一个有“开始”和“重玩”文字的按钮。文本框设计:用 JTextField 来构建相应的文本框,用 JTextField()来构建单行文本框,以满足程序的要求和图形设计。颜色背景及字体的设定:JLabel 对象可以显示文本、图像或同时显示二者。内容四:记事本设计图如下,前先要创建一个 Jishiben 的类继承 JFrame 类作为最底层的容器。在构建 Jishiben 类时要初使化容器,初使化组件。湖南商学院北津学院 java 课程设计报告 第5 页 共 36 页 内容五:事件的面板要有两个按钮,Start 按钮用来创建小球和启动线程,Close 按钮用来关闭窗口结束进程。

10、程序中小球类(Class Ball)有多个方法:Ball()构建小球的方法;draw()画填充小球的方法;move()小球移动的方法,当小球移动到屏幕边界则反弹。循环对线程进行处理:每隔 5 毫秒运行一次。运行一次小球前进一个像素。五、程序设计 1程序设计的基本思路 内容一:先在主函数里把计算器的布局写好,然后写一个设置各个按钮行为的方法,在这个方法里给出一个最初发生的 Event 对象,由它来判断鼠标点击算法操作(加、减、乘除等),判断好了,然后就把文本框制空,然后定义一个 int 变量 mark,mark用来保存当前进行何种运算。用户另输数字,点击“=”在“=”操作里判断 mark值,根据

11、 mark 值判断是哪种算法,然后算出来,把结果射入文本框中,在文本框不为空时,改变进制选择框,则进行进制转换,把结果射入文本框中。内容二:在主函数里把要用到的变量定义好,然后尝试开始读取文件,并对读取的数据相应的进行处理,若读取失败则打印“文件读取失败”。内容三:设计中,把布局设置为空布局,以设置各按钮的准确位置,利用 JButton、JLavel和 JTextField 设定界面,设定出黄金卡图形界面的布局等因素,以此满足程序的基本设计要求。内容四:湖南商学院北津学院 java 课程设计报告 第6 页 共 36 页 内容五:在窗体构造函数 BounceFrame()对窗体进行初始化,单机

12、start 按钮,就马上调用创建小球,启动线程的方法 addBall(),当小球运动到边界的时候要反弹,并重画面板。单机 Close 按钮则退出程序。Help.sho启动程序 输入文字 新建 打开 保存 关闭 剪切 复制 粘贴 制作人信息 NewEdit openFile SaveListActionLiCutActioCopyActiPasteAct退出关闭程序 湖南商学院北津学院 java 课程设计报告 第7 页 共 36 页 2程序代码 内容一:import java.awt.*;import java.awt.event.*;class This_number_too_big exte

13、nds Exception/自定义的一个结果溢出异常类 class Jsq2011 extends Frame implements ItemListener,ActionListener public Jsq2011()addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)dispose();System.exit(0););static Jsq2011 mainFrame=new Jsq2011();static Label lab=new Label(0);/创建标签 static Pan

14、el pnl1=new Panel(new GridLayout(4,3,3,3);/网格布局 static Panel pnl2=new Panel(new GridLayout(4,1,3,3);static Panel pnl3=new Panel(new GridLayout(1,2,3,3);static Panel pnl4=new Panel(new GridLayout(6,1,3,3);static Button bt9=new Button(9);static Button bt8=new Button(8);static Button bt7=new Button(7);

15、static Button bt6=new Button(6);static Button bt5=new Button(5);static Button bt4=new Button(4);static Button bt3=new Button(3);static Button bt2=new Button(2);static Button bt1=new Button(1);static Button bt0=new Button(0);static Button btdot=new Button(.);static Button btequ=new Button(=);static B

16、utton btadd=new Button(+);static Button btsub=new Button(-);static Button btmul=new Button(*);static Button btdev=new Button(/);static Button btA=new Button(A);static Button btB=new Button(B);static Button btC=new Button(C);static Button btD=new Button(D);static Button btE=new Button(E);static Butto

17、n btF=new Button(F);static Checkbox ckb8=new Checkbox(八进制);/创建八进制选择框 static Checkbox ckb10=new Checkbox(十进制);static Checkbox ckb16=new Checkbox(十六进制);static Button btc=new Button(clear);static Button btt=new Button(backspace);public int number=0,length=18;/*number 是用来记录输入的数字个数,湖南商学院北津学院 java 课程设计报告

18、第8 页 共 36 页 *length 是用来设置在不同进制下允许输入的最多数字位数,默认为十进制*/public char mark=n;/*设置运算符号为没有即为n,它的值是+-*/*/public double data=0;/*设置运算数据为零*/public char ch;/*用来临时存放所按按钮的第一个字符*/public boolean Refresh=false;/*设置 lab 是否要在输入数据的时候刷新,初始为否*/public static void main(String args)System.out.println(Starting Jsq2011.);lab.s

19、etAlignment(Label.RIGHT);/标签上名称右对齐 lab.setBackground(Color.white);lab.setForeground(Color.BLUE);lab.setFont(new Font(Serief,Font.BOLD,20);lab.setBounds(20,33,330,40);mainFrame.add(lab);btadd.setForeground(Color.red);btsub.setForeground(Color.red);btmul.setForeground(Color.red);btdev.setForeground(Co

20、lor.red);btA.setForeground(Color.blue);btB.setForeground(Color.blue);btC.setForeground(Color.blue);btD.setForeground(Color.blue);btE.setForeground(Color.blue);btF.setForeground(Color.blue);btc.setBackground(Color.red);btt.setBackground(Color.red);bt0.setBackground(new Color(200,250,200);bt1.setBackg

21、round(new Color(200,250,200);bt2.setBackground(new Color(200,250,200);bt3.setBackground(new Color(200,250,200);bt4.setBackground(new Color(200,250,200);bt5.setBackground(new Color(200,250,200);bt6.setBackground(new Color(200,250,200);bt7.setBackground(new Color(200,250,200);bt8.setBackground(new Col

22、or(200,250,200);bt9.setBackground(new Color(200,250,200);btdot.setBackground(new Color(200,250,200);btequ.setBackground(new Color(200,250,200);btadd.setBackground(new Color(200,250,200);btmul.setBackground(new Color(200,250,200);btdev.setBackground(new Color(200,250,200);btsub.setBackground(new Colo

23、r(200,250,200);btA.setBackground(new Color(200,250,200);btB.setBackground(new Color(200,250,200);btC.setBackground(new Color(200,250,200);btD.setBackground(new Color(200,250,200);btE.setBackground(new Color(200,250,200);btF.setBackground(new Color(200,250,200);CheckboxGroup grp=new CheckboxGroup();c

24、kb8.setCheckboxGroup(grp);湖南商学院北津学院 java 课程设计报告 第9 页 共 36 页 ckb10.setCheckboxGroup(grp);ckb16.setCheckboxGroup(grp);ckb8.setBounds(30,75,80,25);ckb10.setBounds(140,75,80,25);ckb16.setBounds(250,75,80,25);ckb8.setState(false);ckb10.setState(true);/设置初始状态为选中十进制 ckb16.setState(false);mainFrame.add(ckb8

25、);mainFrame.add(ckb10);mainFrame.add(ckb16);pnl1.setBounds(90,160,180,160);pnl2.setBounds(280,160,70,160);pnl3.setBounds(90,110,260,40);pnl4.setBounds(20,110,60,210);pnl1.add(bt7);pnl1.add(bt8);pnl1.add(bt9);pnl1.add(bt4);pnl1.add(bt5);pnl1.add(bt6);pnl1.add(bt1);pnl1.add(bt2);pnl1.add(bt3);pnl1.add

26、(bt0);pnl1.add(btdot);pnl1.add(btequ);pnl2.add(btadd);pnl2.add(btsub);pnl2.add(btmul);pnl2.add(btdev);pnl3.add(btt);pnl3.add(btc);pnl4.add(btA);pnl4.add(btB);pnl4.add(btC);pnl4.add(btD);pnl4.add(btE);pnl4.add(btF);btA.enable(false);btB.enable(false);btC.enable(false);btD.enable(false);btE.enable(fal

27、se);btF.enable(false);mainFrame.add(pnl1);mainFrame.add(pnl2);mainFrame.add(pnl3);mainFrame.add(pnl4);mainFrame.setResizable(false);湖南商学院北津学院 java 课程设计报告 第10 页 共 36 页 mainFrame.setLayout(null);/mainFrame.setSize(375,340);mainFrame.setBounds(100,100,370,340);mainFrame.setBackground(Color.LIGHT_GRAY);

28、mainFrame.setTitle(计算器);mainFrame.setVisible(true);ckb8.addItemListener(mainFrame);ckb10.addItemListener(mainFrame);ckb16.addItemListener(mainFrame);/*把事件监听者向各个组键注册*/bt1.addActionListener(mainFrame);bt2.addActionListener(mainFrame);bt3.addActionListener(mainFrame);bt4.addActionListener(mainFrame);bt

29、5.addActionListener(mainFrame);bt6.addActionListener(mainFrame);bt7.addActionListener(mainFrame);bt8.addActionListener(mainFrame);bt9.addActionListener(mainFrame);bt0.addActionListener(mainFrame);btadd.addActionListener(mainFrame);btsub.addActionListener(mainFrame);btmul.addActionListener(mainFrame)

30、;btdev.addActionListener(mainFrame);btt.addActionListener(mainFrame);btc.addActionListener(mainFrame);btdot.addActionListener(mainFrame);btequ.addActionListener(mainFrame);btA.addActionListener(mainFrame);btB.addActionListener(mainFrame);btC.addActionListener(mainFrame);btD.addActionListener(mainFra

31、me);btE.addActionListener(mainFrame);btF.addActionListener(mainFrame);/*end main()mothed*/*/*checkbox 事件的处理*/*/public void itemStateChanged(ItemEvent e)mark=n;Refresh=false;/*规定当进制转换时以前输入的运算符失效*/if(ckb8.getState()=true)/*八进制选择框处于选中状态*/btA.enable(false);/*在八进制的情况下对有些按件的管理*/btB.enable(false);btC.enabl

32、e(false);btD.enable(false);btE.enable(false);btF.enable(false);bt9.enable(false);bt8.enable(false);湖南商学院北津学院 java 课程设计报告 第11 页 共 36 页 btdot.enable(false);btadd.enable(false);btmul.enable(false);btsub.enable(false);btdev.enable(false);btequ.enable(false);if(length=18)/即上次选择的是十进制 lab.setText(goto10_8(

33、lab.getText();number=lab.getText().length();if(length=14)/上次选择的是十六进制 lab.setText(goto_10(lab.getText(),16L);lab.setText(goto10_8(lab.getText();number=lab.getText().length();length=19;/*在八进制下允许输入数字个数最多为 19 位*/if(ckb10.getState()=true)/十进制 btA.enable(false);/*在十进制的情况下对有些按件的管理*/btB.enable(false);btC.en

34、able(false);btD.enable(false);btE.enable(false);btF.enable(false);bt9.enable(true);bt8.enable(true);btdot.enable(true);btadd.enable(true);btmul.enable(true);btsub.enable(true);btdev.enable(true);btequ.enable(true);if(length=19)lab.setText(goto_10(lab.getText(),8L);number=lab.getText().length();if(le

35、ngth=14)lab.setText(goto_10(lab.getText(),16L);/*进制转换成十进制*/number=lab.getText().length();length=18;/*在十进制下允许输入数字个数最多为 18 位*/if(ckb16.getState()=true)/十六进制 btA.enable(true);/*在十六进制的情况下对有些按件的管理*/btB.enable(true);btC.enable(true);btD.enable(true);btE.enable(true);btF.enable(true);湖南商学院北津学院 java 课程设计报告

36、第12 页 共 36 页 bt9.enable(true);bt8.enable(true);btdot.enable(false);btadd.enable(false);btmul.enable(false);btsub.enable(false);btdev.enable(false);btequ.enable(false);if(length=18)lab.setText(goto10_16(lab.getText();number=lab.getText().length();if(length=19)lab.setText(goto_10(lab.getText(),8L);lab

37、.setText(goto10_16(lab.getText();number=lab.getText().length();/将其他进制转换成十六进制 length=14;/在十六进制下允许输入数字个数最多为 14 位 /end itemStateChanged(ItemEvent e)method /*/*按钮事件的处理*/*/public void actionPerformed(ActionEvent m)Button btn=(Button)m.getSource();etLabel().charAt(0);Object temp=m.getSource();switch(ch)ca

38、se c:lab.setText(0);number=0;mark=n;Refresh=false;break;/初始化 case 1:enter();break;case 2:enter();break;case 3:enter();break;case 4:enter();break;case 5:enter();break;case 6:enter();break;case 7:enter();break;case 8:enter();break;case 9:enter();break;case 0:if(Refresh=true)lab.setText(0);number=0;Ref

39、resh=false;if(lab.getText().charAt(0)=0&lab.getText().length()=1)break;if(numberlength)number+;lab.setText(lab.getText()+ch);else break;湖南商学院北津学院 java 课程设计报告 第13 页 共 36 页 break;case A:enter();break;case B:enter();break;case C:enter();break;case D:enter();break;case E:enter();break;case F:enter();bre

40、ak;case.:if(Refresh=true)lab.setText(0);number=0;Refresh=false;if(lab.getText().indexOf(.)=-1)number+;lab.setText(lab.getText()+ch);else break;break;case b:if(number=0)break;else if(-number=0)lab.setText(0);number=0;else if(number!=1)lab.setText(lab.getText().substring(0,number);else lab.setText(Cha

41、racter.toString(lab.getText().charAt(0);break;case+:try js();catch(This_number_too_big e)lab.setText(0);number=0;mark=n;Refresh=false;System.out.println(The number is too big);/*如果出现异常则初始化效果如同 clear 键*/break;case-:try js();catch(This_number_too_big e)lab.setText(0);number=0;mark=n;Refresh=false;Syst

42、em.out.println(The number is too big);break;case*:try js();catch(This_number_too_big e)lab.setText(0);number=0;mark=n;Refresh=false;System.out.println(The number is too big);break;湖南商学院北津学院 java 课程设计报告 第14 页 共 36 页 case/:try js();catch(This_number_too_big e)lab.setText(0);number=0;mark=n;Refresh=fal

43、se;System.out.println(The number is too big);break;case=:try js();catch(This_number_too_big e)lab.setText(0);number=0;mark=n;Refresh=false;System.out.println(The number is too big);break;/end actionPerformed(ActionEvent e)method /*/*八进制或十六进制转换成十进制 I*/*/public String goto_10(String s,long l)/*参数 s:是要

44、转换的字符串,由于输入的控制,保证了字符串的合法性;*/*参数 l:使用来设置是将 8 进制还是 16 进制转换成 10 进制,它的有效值为 8或 16*/String str=s;/用来转换的字符串 long j=l;/表示进制 long lg=0,jing=1;/lg 用来记录权乘和,jing 用来记录位权 char cha;/临时记录要转换的字符 for(int i=1;i=16)ch=lg%16;k=(int)ch;switch(k)case 10:st=A+st;break;case 11:st=B+st;break;case 12:st=C+st;break;case 13:st=

45、D+st;break;case 14:st=E+st;break;case 15:st=F+st;break;default:st=Long.toString(ch)+st;lg=lg/16;k=(int)lg;switch(k)case 10:st=A+st;break;case 11:st=B+st;break;case 12:st=C+st;break;case 13:st=D+st;break;case 14:st=E+st;break;case 15:st=F+st;break;default:st=Long.toString(lg)+st;return st;/end goto10

46、_16()method /*/*十进制转换成八进制*/*/public String goto10_8(String s)String str=s;String st=new String();long j=8,ch;long lg;if(str.charAt(0)=-)/如果有负号则出去负号 h()-1);湖南商学院北津学院 java 课程设计报告 第16 页 共 36 页 if(str.indexOf(E)!=-1)/如果是科学计数值则出去小数点和 E 后面的数 str=str.charAt(0)+str.substring(2,str.indexOf(E);if(str.indexOf(

47、.)!=-1)/如果有小数点则出去小数点及小数点后面的内容 str=str.substring(0,str.indexOf(.);lg=Long.parseLong(str);while(lg=j)ch=lg%j;st=Long.toString(ch)+st;lg=lg/j;st=Long.toString(lg)+st;return st;/end goto10_8()method /*/*输入字符*/*/public void enter()if(Refresh=true)/*如果已经设置了 运算符则在下一次输入数据的时候要把以前 lab 的内容清除掉*/lab.setText(0);n

48、umber=0;Refresh=false;if(lab.getText().charAt(0)=0&lab.getText().length()=1)/*如果 lab 的内容为 0 则,lab 的内容将被所输入的字符代替。否则直接在 lab 的内容后面加上所输入的字符*/lab.setText(Character.toString(ch);number+;else if(numberDouble.MAX_VALUE)/*如果 data 超过 double 类型的最大值则抛出自定义的一个异常类*/throw new This_number_too_big();/end js()method p

49、ublic void answer()throws This_number_too_big/指定由 method 抛出异常 if(mark=n)else switch(mark)case+:data+=Double.parseDouble(lab.getText();break;case-:data-=Double.parseDouble(lab.getText();break;case*:data*=Double.parseDouble(lab.getText();break;case/:data/=Double.parseDouble(lab.getText();break;lab.set

50、Text(Double.toString(data);mark=n;if(dataDouble.MAX_VALUE)/如果 data 超过 double 类型的最大值则抛出自定义的一个异常类 throw new This_number_too_big();Refresh=false;number=lab.getText().length();/end answer()method/end class Jsp2003 内容二:import java.io.*;import java.util.*;import java.text.DecimalFormat;public class Iostre

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 文案大全

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁