欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    java课程设计——猜数字游戏.doc

    • 资源ID:6059227       资源大小:164.50KB        全文页数:20页
    • 资源格式: DOC        下载积分:4
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要4
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    java课程设计——猜数字游戏.doc

    目 录前言1正文11、设计任务与要求11.1 设计任务与要求11.2 选题目的与意义12、需求分析22.1 用户需求分析22.2 开发环境分析23、系统设计33.1 系统总体设计:33.1.1 总体设计分析33.1.2 程序结构33.2 功能模块设计53.2.1 功能模块图53.2.2 功能模块详细设计63.3 类的设计:74、程序实现94.1 程序流程图94.2 关键算法与技术实现104.2.1 随机数的获取104.2.2 输入输出104.2.3 判断时间114.2.4 自动计数114.2.5 结果输出124.2.6 图形界面的实现124.3 类的实现135、源程序:146、测试运行186.1 系统测试方案186.2 运行结果分析186.3结论19致谢19参考文献20前言Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。猜数字游戏是一个简单,有趣的小游戏。通过设计猜数字游戏,可以进一步了解Swing图形用户界面设计,事件处理和异常处理机制。利用Eclipse平台,综合运用Java基础知识,设计猜数字游戏。正文1、设计任务与要求1.1 设计任务与要求功能要求:该程序用图形界面实现下面功能:用计算机产生一个100以内的随机数,游戏者进行猜数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜对为止。游戏结束后给出评语并计算出玩家所用的时间与所猜的次数。具体要求:(1) 输入任意一个数字。数字的要求是1100的自然数即可。(2) 系统对您输入的数字进行判断。如果玩家输入的数字与计算机随机生成数相比较,输入的数字比随机生成数小.系统将提示您,数字太小请您重新输入。如果玩家输入的数字与计算机随机生成数相比较,如果输入的数字比随机生成数大。系统将提示您,数字太大请您重新输入。如果玩家输入的字符不是合法字符,系统将提示您,您输入的数字不合法,请从新输入。(3) 每猜测一次,系统会记录下来,游戏结束后,显示共猜测多少次。(4) 欢迎界面:通过这里提供的选项(或按钮),进入游戏界面。(5) 游戏界面提供“获取随机数”按钮,系统获取到随机数,游戏者输入自己的猜测结果,通过按“确认”按钮完成输入。每次提示输入猜测结果时,给出猜测的准确度提示。(6) 按“获取随机数”按钮,继续游戏。(7) 游戏结束后给出评语并计算出玩家所用的时间与所猜次数。界面要示:用图形界面实现。1.2 选题目的与意义通过猜数游戏这个课题我可以学到文本框、标签框、按钮、布局、对话框方面的知识和应用,达到设计登陆界面、加入图像显示功能以及设计按钮的目的,让我更加的掌握和理解java面向对象语言的需求分析、系统设计,所以我选择猜数游戏这个课题。2、需求分析2.1 用户需求分析1玩家输入一个数字,数字的范围在1-100之间,系统获取随机数。2对玩家输入的数字进行判断大小,如果不是系统要求的数字,系统将提示您,您输入的不是数字请重新输入,给出提醒以便玩家进一步选择。3.玩家猜中时系统给出所用时间和游戏水平的判断,系统给出是否继续的提示及判断。4.系统根据您猜数字的次数,自动计数.5.直到用户猜到数字为止,提示信息是否继续猜数字,如果继续将进入下一次游戏,如果退出将退出游戏系统.2.2 开发环境分析Eclipse企业级工作平台(Eclipse Enterprise Workbench ,简称Eclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。在结构上, Eclipse的特征可以被分为7类:1. JavaEE模型2. WEB开发工具3. EJB开发工具4. 应用程序服务器的连接器5. JavaEE项目部署服务6. 数据库服务7. Eclipse整合帮助 对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。Eclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,Eclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错。该程序基于JDK和Eclipse编写,选用Eclipse是界面设计所需。根据系统范围随机产生一个数字,可根据玩家选择给出不同的数字。玩家输入所猜数字时给出与真实数字的大小比较。在玩家猜中时,可给出其所用时间,并给出评价。最后,游戏的结束与继续可由玩家控制。3、系统设计3.1 系统总体设计:3.1.1 总体设计分析1.随机数的获取:玩家输入一个数字,数字的范围在1-100之间,系统获取随机数。2. 输入输出模块:对玩家输入的数字进行判断和提示。如果玩家输入的不是系统要求的数字,系统将提示您,您输入的不是数字请重新输入.。如果玩家输入的数字与随机生成数相比较,比随机生成数小.系统提示您,数字太小请您重新输入。如果玩家输入的数字与随机生成数相比较,比随机生成数大.系统提示您,数字太大请您重新输入。3. 判断模块:算出所用时间在玩家猜中时给出其所用时间,系统给出对其水平的判断和是否继续的提示;对玩家要求判断执行。4.自动计数模块:系统根据您猜数字的次数,自动计数.5.结果输出模块:直到用户猜到数字为止,提示信息是否继续猜数字,如果继续将进入下一次游戏,如果退出将退出游戏系统.3.1.2 程序结构点击“获取随机数”按钮,系统获取到一个随机数。 玩家输入一个数,如果玩家输入的数比系统给出的随机数小,系统会提示“您猜的太小了,请继续猜!”。如果玩家输入的数比系统给出的随机数大,系统提示“您猜的太大了,请继续猜!”。 如果玩家猜对了数,但是所用时间大于十秒,系统会提示“这么久才猜出来,有点笨!”,并且会计算出玩家所用的时间和所猜的次数。如果玩家猜对了数,而且所用时间小于十秒,系统会提示“恭喜您,猜对了!您真棒,智商真高!”,并且会计算出玩家所用的时间和所猜的次数。 开 始系统产生一个随机数X玩家输入一个在099范围内的数Y若X>Y 输出“您猜的太小了,请继续猜”若X<Y 猜对输出“您猜的太大了,请继续猜”储存记录这么久才猜出来,有点笨恭喜您,猜对了!您真棒! 结 束图1 程序结构图3.2 功能模块设计3.2.1 功能模块图 游戏分为随机数的获取,输入输出模块,判断模块,自动计数模块,结果输出模块。其中输入输出模块中系统会对玩家给出的数进行判断和输出。判断模块会对玩家的水平进行判断,并计算出玩家所用的时间和次数。猜数游戏结果输出模 块自动计数模 块判断模 块输入输出 模 块随机数的获取是否继续的选择水平时间系统对玩家给出的数进行判断和输出图2 功能模块图3.2.2 功能模块详细设计(1)随机数的获取功能描述:玩家输入一个数字,数字的范围在1-100之间,系统获取随机数。(2) 输入输出模块功能描述:对玩家输入的数字进行判断和提示。如果玩家输入的不是系统要求的数字,系统将提示您,您输入的不是数字请重新输入.。如果玩家输入的数字与随机生成数相比较,比随机生成数小.系统提示您,数字太小请您重新输入。如果玩家输入的数字与随机生成数相比较,比随机生成数大.系统提示您,数字太大请您重新输入。输入输出模块对玩家输入的数字进行判断和提示您输入的不是数 字您输入的太 小您输入的太 大猜对了图3 输入输出模块图(3) 判断模块功能描述:算出所用时间在玩家猜中时给出其所用时间,系统给出对其水平的判断和是否继续的提示;对玩家要求判断执行。判断模块时间计算功 能系统对玩家的水平做出 判断提示玩家是否继 续图4 判断模块图(4) 自动计数模块功能描述:系统根据您猜数字的次数,自动计数.计数器加1玩家猜数字,若猜错图5 自动计数模块图(5) 结果输出模块功能描述:直到用户猜到数字为止,提示信息是否继续猜数字,如果继续将进入下一次游戏,如果退出将退出游戏系统.3.3 类的设计:表1类的分类类名属性Math.random数学中的随机数。BorderLayout图形界面窗口的设计与调整Concurrentconcurrent 在并发编程中很常用的实用工具类。从用户的角度看,Java 源程序中的类分为两种:系统定义的类:即 Java 类库,它是系统定义好的类。Java 语言由语法规则和类库两部分组成,语法规则确定 Java 程序的书写规范;类库则提供了 Java 程序与运行它的系统软件(Java 虚拟机)之间的接口。用户自定义类:系统定义的类虽然实现了许多常见的功能,但是用户程序仍然需要针对特定问题的特定逻辑来定义自己的类。在 Java 程序中,用户自定义类的一般格式如下: class 类名数据成员成员方法类的结构是由类说明和类体两部分组成的。类的说明部分由关键字 class 与类名组成,类名的命名遵循 Java 标识符的定义规则。类体是类声明中花括号所包括的全部内容,它又是由数据成员(属性)和成员方法(方法)两部分组成。数据成员描述对象的属性;成员方法则刻画对象的行为或动作,每一个成员方法确定一个功能或操作。首先搭建Java程序框架。打开Eclipse,新建名为GuessNumberGame的项目,然后新建名为GuessNumber的Java类。GuessNumber加上合适的javadoc。第一步:随机数的产生我们可以借助Java API提供的Random类来产生一个随机数。首先在main函数中加入以下三行代码:/ 新建一个随机数产生器,然后生成一个1到100之间的整数。 num=(int)(Math.random()*100);String answer;Scanner input=new Scanner(System.in); 第二步:标准输入输出标准输入输出(Standard I/O)是指可以被应用程序使用的信息流。应用程序可以从标准输入(Standard input)读取数据,向标准输出(Standard output)写数据,把出错信息发送到标准错误(Standard error)。通过输入输出,应用程序和应用程序之间可以被串联起来使用。虽然标准输入输出是从UNIX发展出来的概念,在Windows中也广泛应用。猜数字游戏主要用到标准输入,更明确一些,就是控制台输入。相反,要从控制台输入,就需要用到System.in。它是一个纯粹的输入流,而猜数字游戏主要是通过控制台获取玩家的字符输入,我们需要把它包装成一个BufferedReader。第三步:使用BorderLayout对图形界面的窗口进行设计。4、程序实现4.1 程序流程图点击“获取随机数”按钮,系统获取到一个随机数。 玩家输入一个数,如果玩家输入的数比系统给出的随机数小,系统会提示“您猜的太小了,请继续猜!”。如果玩家输入的数比系统给出的随机数大,系统提示“您猜的太大了,请继续猜!”。 如果玩家猜对了数,但是所用时间大于十秒,系统会提示“这么久才猜出来,有点笨!”,并且会计算出玩家所用的时间和所猜的次数。如果玩家猜对了数,而且所用时间小于十秒,系统会提示“恭喜您,猜对了!您真棒,智商真高!”,并且会计算出玩家所用的时间和所猜的次数。 开 始系统产生一个随机数X玩家输入一个在099范围内的数Y若X>Y 输出“您猜的太小了,请继续猜”若X<Y 猜对输出“您猜的太大了,请继续猜”储存记录这么久才猜出来,有点笨恭喜您,猜对了!您真棒! 结 束 图6 程序流程图4.2 关键算法与技术实现4.2.1 随机数的获取num=(int)(Math.random()*100);String answer;Scanner input=new Scanner(System.in);4.2.2 输入输出 for(i=1;i<=10;i+) if(num2<num) lbshow.setText("您猜的太小了,请继续猜!");continue;else if(num2>num)lbshow.setText("您猜的太大了,请继续猜!");continue;long endTime=System.currentTimeMillis();long t;t=(endTime-startTime)/1000;strshow="您总共猜了"+counter+"次,您猜数字总共花了"+(endTime-startTime)/1000+"秒"if(t<10)lbshow.setText("恭喜您,猜对了!您真棒,智商真高!"+strshow);else if(t>10)lbshow.setText("这么久才猜出来,有点笨!"+strshow); 4.2.3 判断时间startTime=System.currentTimeMillis();long endTime=System.currentTimeMillis();strshow="您猜数字总共花了"+(endTime-startTime)/1000+"秒"4.2.4 自动计数 int geust=0; counter+;strshow="您总共猜了"+counter+"次;4.2.5 结果输出 long t;t=(endTime-startTime)/1000;strshow="您总共猜了"+counter+"次,您猜数字总共花了"+(endTime-startTime)/1000+"秒"if(t<10)lbshow.setText("恭喜您,猜对了!您真棒,智商真高!"+strshow);else if(t>10)lbshow.setText("这么久才猜出来,有点笨!"+strshow);4.2.6 图形界面的实现 BorderLayout bdmg=new BorderLayout(); Button button1=new Button("获取随机数"); Button button2=new Button("确定"); String str=null; String str2=null;long startTime; int num,num2; int counter=0; myGeustNum my1=new myGeustNum(); TextField input; Label lbshow=new Label(""); Label lbshow2=new Label(""); int i; String strshow; public void init() setLayout(bdmg); add(button1,BorderLayout.NORTH); button1.addActionListener(this); button1.setSize(50,50); Label lb1=new Label(" 请输入"); lb1.setSize(50,20); this.add(lb1,BorderLayout.WEST); input=new TextField(10); input.setSize(40,50); add(input,BorderLayout.CENTER); add(button2,BorderLayout.EAST); lb1.setSize(50,20); button2.addActionListener(this); button2.setSize(50,20); add(lbshow,BorderLayout.SOUTH); setSize(450,200); 4.3 类的实现首先搭建Java程序框架。打开Eclipse,新建名为GuessNumberGame的项目,然后新建名为GuessNumber的Java类。GuessNumber加上合适的javadoc。第一步:随机数的产生我们可以借助Java API提供的Random类来产生一个随机数。首先在main函数中加入以下三行代码:/ 新建一个随机数产生器,然后生成一个1到100之间的整数。 num=(int)(Math.random()*100);String answer;Scanner input=new Scanner(System.in); Eclipse立即在错误语句处划出红线,把鼠标移动到红线上。包(Package)的概念Java API中包含了极其丰富、类似于Random这样由Sun预先定义好的类。不同包中可以有同名同姓的类,如果没有包的概念,就会遇到命名冲突问题。此外,包还能进行安全控制。Random类是在java.util这个包中。可以手动在源程序顶部输入import java.util.Random;语句来申明该程序将要使用java.util包中的Random类,然而有了Eclipse,就不用那么麻烦了把光标移动到有红色波浪线的Random上,然后按下CtrlShiftM,Eclipse会自动帮你完成导入的工作了,此时保存一下源代码。第二句语句定义一个整型变量number来保存随机产生的整数,并且用直接初始化的方法把random产生的随机数赋给number变量。第二步:标准输入输出标准输入输出(Standard I/O)是指可以被应用程序使用的信息流。应用程序可以从标准输入(Standard input)读取数据,向标准输出(Standard output)写数据,把出错信息发送到标准错误(Standard error)。通过输入输出,应用程序和应用程序之间可以被串联起来使用。虽然标准输入输出是从UNIX发展出来的概念,在Windows中也广泛应用。猜数字游戏主要用到标准输入,更明确一些,就是控制台输入。相反,要从控制台输入,就需要用到System.in。它是一个纯粹的输入流,而猜数字游戏主要是通过控制台获取玩家的字符输入,我们需要把它包装成一个BufferedReader。 第三步:使用BorderLayout对图形界面的窗口进行设计。5、源程序:Package a;import java.awt.Color; import java.awt.Container; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.Box; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JTextField; class WindowButton extends JFrame implements ActionListener /* * */ private static final long serialVersionUID = 1L; int number; JTextField inputNumber; JLabel feedBack; JButton buttonGetNumber,buttonEnter; WindowButton(String s) super("猜数字小游戏"); buttonGetNumber=new JButton("得到一个随机数"); feedBack=new JLabel("无反馈信息",JLabel.CENTER); feedBack.setBackground(Color.green); inputNumber=new JTextField("0",5); buttonEnter=new JButton("确定"); buttonEnter.addActionListener(this); buttonGetNumber.addActionListener(this); buttonGetNumber.addActionListener(this); Box boxH1=Box.createHorizontalBox(); boxH1.add(new JLabel("获取1-100之间的随机数:"); boxH1.add(buttonGetNumber); Box boxH2=Box.createHorizontalBox(); boxH2.add(new JLabel("输入您的猜测: ");boxH2.add(inputNumber); Box boxH3=Box.createHorizontalBox(); boxH3.add(new JLabel("单击确定按钮: ");boxH3.add(buttonEnter); Box boxH4=Box.createHorizontalBox(); boxH4.add(new JLabel("反馈信息: "); boxH4.add(feedBack); Box baseBox=Box.createVerticalBox(); baseBox.add(boxH1); baseBox.add(boxH2); baseBox.add(boxH3); baseBox.add(boxH4); Container con=getContentPane(); con.setLayout(new FlowLayout(); con.add(baseBox); con.validate(); setBounds(120,125,279,200); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100,100,150,150); setVisible(true); validate(); public void actionPerformed(ActionEvent e) if(e.getSource()=buttonGetNumber) number=(int)(Math.random()*100)+1; else if(e.getSource()=buttonEnter)int guess=0; try guess=Integer.parseInt(inputNumber.getText(); if(guess=number) JOptionPane.showMessageDialog(this,"猜对了"); else if(guess>number) JOptionPane.showMessageDialog(this,"猜大了"); inputNumber.setText(null); else if(guess<number) JOptionPane.showMessageDialog(this,"猜小了"); inputNumber.setText(null); catch(NumberFormatException event) JOptionPane.showMessageDialog(this,"请输入数字字符"); public class 猜数字游戏 public static void main(String args)new WindowButton("猜数字小游戏"); package b;import java.util.Date;import java.util.Scanner;public class test2 public static void main(String args) /给定生成随机数的范围11000Scanner input = new Scanner(System.in);int num = (int) (Math.random() * 100) + 1;System.out.println("系统已经生成数字,猜猜看这个数字是多少?(如果实在猜不出来,就输入投降吧)");Date d1 = new Date();int gNum = 0;int count = 0;boolean isHandup = false;do count+;System.out.print("第" + count + "次:");try gNum = input.nextInt();if (gNum < num) System.out.println("猜小了");if (gNum > num) System.out.println("猜大了"); catch (Exception ex) if (input.next().trim().equals("投降") isHandup = true;break;System.out.println("输入数字格式不正确,请重新输入。");count-;continue; while (gNum != num);Date d2 = new Date();int time = (int) (d2.getTime() - d1.getTime() / 1000 + 0.5);if (isHandup) System.out.println("悲剧,你投降了!共用了" + time + "秒,猜了" + (count-1)+ "次。");isHandup=false; else if (count * time < 10) System.out.println("太棒了!你运气真好!共用了" + time + "秒,猜了" + count+ "次。"); else if (count * time < 50) System.out.println("你真聪明!共用了" + time + "秒,猜了" + count + "次。"); else if (count * time < 1000) System.out.println("真棒!你竟然猜出来了!共用了" + time + "秒,猜了" + count+ "次。"); else System.out.println("终于猜对了,你也太笨 了吧。共用了" + time + "秒,猜了" + count+ "次。");6、测试运行6.1 系统测试方案1.点击运行程序后,显示出图形界面。2.点击“获取随机数”按钮,系统获取到一个随机数。3 .玩家输入一个数,点击“确定”按钮。如果玩家输入的数比系统给出的随机数小,系统会提示“您猜的太小了,请继续猜!”。如果玩家输入的数比系统给出的随机数大,系统提示“您猜的太大了,请继续猜!”。4 .如果玩家猜对了数,但是所用时间大于十秒,系统会提示“这么久才猜出来,有点笨!”,并且会计算出玩家所用的时间和所猜的次数。如果玩家猜对了数,而且所用时间小于十秒,系统会提示“恭喜您,猜对了!您真棒,智商真高!”,并且会计算出玩家所用的时间和所猜的次数。5. 如果玩家想重新再玩一次,点击“获取随机数”按钮即可继续玩下一轮游戏。6.2 运行结果分析开始运行程序时图形界面的显示图7 图形显示界面玩家输入一个数“10”后,点击“确定”,系统提示“您猜的太小了”。玩家再次输入一个数“70”后,点击“确定”,系统提示“您猜的太大了”。 玩家再次输入一个数“32”,点击“确定”,系统提示“猜对了”。6.3结论经过差不多两个星期的努力,基本上完成我的Java课程设计简单的记事本程序,也基本上实现了我在需求分析时所预期的功能。通过这次的课程设计,使将我从书本上学习到的理论知识用到了实践上,从而进一步巩固和丰富了我所学过的知识,让我更深层次地认识到Java及其强大的功能。同时,做这门课程设计也进一步加强了我的动手能力。为了完成好这次课程设计,我提前做了较多的准备,一边上网查找相关资料,另一方面查阅相关书籍。在这过程中也无形中锻炼了我的思维分析、遇到问题及想方设法通过各种途径解决问题的能力。但是,设计过程中也存在一些问题,本来一开始想给这个记事本程序加上一张背景图片,以及添加字体设置功能,但是由于本人知识浅陋以及各种其他原因,使得这些想法没有实现,这是这次课程设计的一点遗憾。致谢在这次课程设计的撰写过程中,我得到了许多人的帮助。首先我要感谢我的老师在课程设计上给予我的指导、提供给我的支持和帮助,这是我能顺利完成这次报告的主要原因,更重要的是老师帮我解决了许多技术上的难题,让我能把系统做得更加完善。在此期间,我不仅学到了许多新的知识,而且也开阔了视野,提高了自己的设计能力。其次,我要感谢帮助过我的同学,他们也为我解决了不少我不太明白的设计商的难题。同时也感谢学院为我提供良好的做毕业设计的环境。最后再一次感谢所有在设计中曾经帮助过我的良师益友和同学。 参考文献1 印旻Java与面向对象程序设计教程北京:清华大学出版社,1999.112 Cay S.Horstmann,Gary Cornell著.Java核心技术.北京:机械工业出版社,2008.53 张跃平.Java2实用教程实验指导与习题解答(第三版)M. 北京:清华大学出版社, 20044 布洛克.Effective Java中文版.机械工业出版社,2009.01

    注意事项

    本文(java课程设计——猜数字游戏.doc)为本站会员(大张伟)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开