JAVA课程设计计算器文本编辑器_第1页
JAVA课程设计计算器文本编辑器_第2页
JAVA课程设计计算器文本编辑器_第3页
JAVA课程设计计算器文本编辑器_第4页
JAVA课程设计计算器文本编辑器_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课 程 设 计设计题目: JAVA语言编写计算器和文档编辑器 学生姓名: 李伟 学 号: 20095378 专业班级: 电子商务09-1班 指导教师: 聂会星 程八一 惠刚 靳鹏 方芳 2010 年 12 月 12 日计算器制作一、实验目的1、为了加深对课堂讲授内容的理解,掌握解决实际应用问题时所应具有的查阅资料、技术标准和规范,以及软件编程、调试等能力,掌握面向对象的编程思想及Java语言程序设计的规律与技巧,为进一步学习Java高级应用及今后从事专业工作打下基础。2、在对Java程序的调试过程中,提高分析程序中出现的错误和排除这些错误的能力。通过上机实践,加深学生对计算机软件运行环境,以及

2、对操作系统与计算机语言支持系统相互关系的了解。3、熟悉Java开发工具,运行java应用程序和小程序;掌握Java程序的编辑、编译、运行。掌握各种数据类型及其使用方法;掌握表达式的组成;理解定义变量的作用,掌握定义变量的方法;掌握各种运算符的使用及其优先级控制。学习结构化程序设计的分支结构及分支语句的使用;学习使用结构化程序设计的循环结构及循环语句的使用;掌握数组的使用方法,着重掌握二维数组,编写使用二维数组的程序;掌握常用字符串类、方法。4、学会类的定义和对象的使用;封装、继承、多态的应用;如何创建包,编译、运行包中的类;方法的覆盖和重载;抽象类、接口、内部类的使用。掌握异常处理的使用方法。

3、着重掌握基本的GUI组件;掌握容器布局管理;掌握事件处理机制。二、实验要求计算器要有GUI界面,用户可以输入所需计算的数值,可以进行加、减、乘、除四种最基本的运算,可以求一个数值的平方及倒数,可以进行阶乘运算,要能运算小数,并且不会产生精度损失,在必要情况下,可以进行四舍五入的运算。允许正负数间的运算。三、实验内容通过创建一个框架并在框架上加上适当的按钮以及文本框并通过对按钮设置监听器以达到进行运算的目的,由于对java知识掌握的不多还需要通过参阅书本来完成,我们小组有三个人,我负责做算法部分,其他两人负责界面布局以及监听器的设置。在实验过程中,我们共同合作每个人都参加了所有程序的编写过程。四

4、、实验步骤1、首先要声明包。主要用到了以下几个包:import java.awt.*;import java.awt.event.*;import javax.swing.*;导入了包之后就可以运用包中的类了。2、创建框架。以下用BorderFrame类构造frame函数,然后设置框架的格式为最小化、最大化、关闭。然后show的作用是显示该框架。BorderFrame frame = new BorderFrame();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.show();3、编写BorderFrame类,定义各个变

5、量。class BorderFrame extends JFrame implements ActionListener这里要用到ActionListener接口,是下面监听器所需要的。定义变量例如下面代码:private JButton num0,dao,gen,ss,bac;public double d,d11; public double jieguo; public boolean end=true;而在实际编写过程中我是用到一个定义一个。4、定义各组件,在框架上加入各种组件。接下来是定义按钮num0=new JButton(0);括号里的即为按钮显示的信息。依次再创建23个按钮。刚

6、开始在BorderFrame()方法里我使用JButton num0=new JButton(0)来定义按钮,后来发现在actionPerformed方法里不能使用这些按钮,所以要在BorderFrame这个类中定义,JButton num0;这样就能被BorderFrame类里的所有方法采用而不会出现未定义的错误。在布局的时候为了防止颜色单调,将按钮背景颜色设置为白色,采用setBackground()方法,具体代码如下:num0.setBackground(Color.white);这样依次设置12个按钮,其他按钮仍为默认颜色。接着创建buttons面板方法如下:buttons=new J

7、Panel();接着把所有的按钮加到buttons面板程序代码如下:buttons.add(num0);然后依次把所有按钮加入即可。在布局的时候采用了setLayout 方式布局具体代码如下:buttons.setLayout(new GridLayout(6,4,5,5);后面的四个数分别是6行4列,间隙的高5宽5。这样之后布局如下接着编写文本框并将文本域设置为不可编辑,代码如下resultText= new JTextField(, 25);resultText.setEnabled(false);然后将文本域加入到text面板中具体代码如下:JPanel text=new JPanel(

8、);text.add(resultText);之后再将面板加入到内容窗格布局中具体代码如下:Container contentPane = getContentPane();contentPane.add(text, BorderLayout.NORTH);contentPane.add(buttons, BorderLayout.CENTER);在计算器制作过程中为了使界面更加人性化,并为使用者提供一些制作信息我们小组特意加入了菜单栏。首先创建菜单栏并将菜单栏加入到框架中具体代码如下:JMenuBar mainMenu = new JMenuBar(); setJMenuBar(mainMe

9、nu); 接着创建三个主菜单名字分别为文件、颜色、作者具体代码如下: JMenu actMenu = new JMenu(文件); JMenu setColorMenu = new JMenu(颜色); JMenu aboutMenu = new JMenu(作者); mainMenu.add(actMenu); mainMenu.add(setColorMenu); mainMenu.add(aboutMenu); 接下来分别向各个主菜单中加入子菜单具体代码如下tuichu = new JMenuItem(退出); actMenu.add(tuichu); banquan = new JMe

10、nuItem(版权); aboutMenu.add(banquan); chanpin = new JMenuItem(产品信息); aboutMenu.add(chanpin); hongse = new JMenuItem(红色); setColorMenu.add(hongse); lanse = new JMenuItem(蓝色); setColorMenu.add(lanse); huise = new JMenuItem(灰色); setColorMenu.add(huise);菜单显示如下图所示:5、创建监听器每个按钮都是事件源,我们对按钮设置监听器后,只要该按钮发生一个事件(A

11、ctionEvent),listenter对象就是接到通知。我们设置监听器的方法如下所示:num9.addActionListener(this); num8.addActionListener(this); num7.addActionListener(this); num6.addActionListener(this); num5.addActionListener(this); num4.addActionListener(this); num3.addActionListener(this); num2.addActionListener(this); num1.addActionL

12、istener(this); num0.addActionListener(this); plu.addActionListener(this); min.addActionListener(this); mul.addActionListener(this); div.addActionListener(this); equ.addActionListener(this); cle.addActionListener(this); jiecheng.addActionListener(this); youk.addActionListener(this); dian.addActionLis

13、tener(this); zf.addActionListener(this); dao.addActionListener(this); gen.addActionListener(this); ss.addActionListener(this);bac.addActionListener(this);在这里,所有的按钮共享一个监听器对象。所以在actionPerformed方法中,必须判断那个按钮被按下,即事件源,可以通过EventObject类的getSource方法来判断。接着对菜单也设置了监听器如下:banquan.addActionListener(this);zhizuodi.

14、addActionListener(this);hongse.addActionListener(this);lanse.addActionListener(this);huise.addActionListener(this);tuichu.addActionListener(this);chanpin.addActionListener(this);这样所有的监听器就制作好了。6、编写actionPerformed方法在actionPerformed方法里包括了所有按钮以及子菜单的点击事件,包括了所有的算法。首先设置点banqun菜单后,将会弹出一个showConfirmDialo型对话框

15、,里面的按钮是DEFAULT_OPTION类型,标题是“版权雷神牌计算器”,对话框里的内容是 刘晓雷 20095406;李伟20095378;周洪芬20095379 具体代码如下:if (source=banquan) int selection=JOptionPane.showConfirmDialog( BorderFrame.this, 刘晓雷 20095406;李伟20095378;周洪芬20095379 ,版权雷神牌计算器, JOptionPane.DEFAULT_OPTION); 接着编写chanpin菜单即作者信息的事件,当点击作者信息时会弹出如下对话框:当点击确定后会弹出另一个

16、对话框如图:代码如下if (source=chanpin) int selection=JOptionPane.showConfirmDialog( BorderFrame.this, 雷神出品必为精品 ,雷神牌计算器, JOptionPane.DEFAULT_OPTION); if (source=chanpin) int selection=JOptionPane.showConfirmDialog( BorderFrame.this, 谢谢使用,雷神牌计算器, JOptionPane.DEFAULT_OPTION); 可以看出就是将source判断两次是否等于chanpin,这样当第一个

17、对话框执行完之后就会弹出第二个对话框以达到效果。接着设置tuichu菜单的事件,当点击退出时会出现如下对话框:如果点击了确定就会退出,点击了撤销就会回到原界面代码如下:if (source=tuichu) int selection = JOptionPane.showConfirmDialog(BorderFrame.this,确定退出么?, 退出?, JOptionPane.OK_CANCEL_OPTION,JOptionPane.WARNING_MESSAGE); if (selection = JOptionPane.OK_OPTION) System.exit(5); System.

18、exit(5)语句就是退出框架的意思,括号里的可以为任意值,消息类型为WARNING_MESSAGE可以看出与上面两个对话框不同的是对话框里有了警告的提示。设置完之后设置颜色菜单的事件如下:if (source=lanse) buttons.setBackground(Color.blue); if (source=hongse) buttons.setBackground(Color.red); if (source=huise) buttons.setBackground(Color.lightGray); setBackground就是设置背景颜色的函数,这样就达到了改变背景颜色的目的。

19、接下来就进入计算阶段的编写了,首先要达到点击数字按钮,文本框里会显示数字如下所示:if(source=num0)t=resultText.getText()+0;resultText.setText(t);if(source=num1)t=resultText.getText()+1;resultText.setText(t); if(source=num2)t=resultText.getText()+2;resultText.setText(t); if(source=num3)t=resultText.getText()+3;resultText.setText(t); if(sourc

20、e=num4)t=resultText.getText()+4;resultText.setText(t); if(source=num5)t=resultText.getText()+5;resultText.setText(t); if(source=num6)t=resultText.getText()+6;resultText.setText(t); if(source=num7)t=resultText.getText()+7;resultText.setText(t); if(source=num8)t=resultText.getText()+8;resultText.setTe

21、xt(t); if(source=num9)t=resultText.getText()+9;resultText.setText(t);resultText.getText()就是获取文本框中的字符串,resultText.setText(t)就是使文本框中显示字符串t;这样就可以在文本框中输入数字了如下图所示:7、我的算法。接下来进行算法的编写,算法编写主要是我编写的,这些算法不是一下子就能想出来的,而是一步步不断完善而成的,我相信如果有时间我会更加完善我的算法的。加法的代码如下:if(source=plu) if(z!=1) c5=1; c1=Double.parseDouble(res

22、ultText.getText().trim(); end=false;z=0; if(z=1) c5=1;c1=jieguo; z=0; 这里z值就是判断变量用来判断=是否执行过的,end就是用来清空文本框的,c5就是控制变量用来判断是否执行过+运算。=的代码如下:if(source=equ) if(c10!=0) jieguo=1;for(int i=1;i=c9;i+) jieguo=i*jieguo; t=(+jieguo);c10=0; if(c5!=0.0) d=Double.parseDouble(resultText.getText().trim(); jieguo=c1+d;

23、 t=(+jieguo); c5=0; if(c6!=0.0) d=Double.parseDouble(resultText.getText().trim(); jieguo=c2-d; t=(+jieguo); c6=0; if(c7!=0.0) d=Double.parseDouble(resultText.getText().trim(); jieguo=c3*d; t=(+jieguo); c7=0; if(c8!=0.0) d=Double.parseDouble(resultText.getText().trim(); jieguo=c4/d; t=(+jieguo); c8=0

24、; if(c12!=0.0) d=Double.parseDouble(resultText.getText().trim(); jieguo=1; for(int i=1;i0) t=-+resultText.getText(); resultText.setText(t); if (c100=0) c101=0-c100; resultText.setText(+c101); if(resultText.getText().equals(00) resultText.setText(0); if(source=dian) resultText.setText(resultText.getT

25、ext()+.); end=true; if(source=jiecheng) if(z!=1) c9=Double.parseDouble(resultText.getText().trim(); resultText.setText(resultText.getText()+!); if(z=1) c9=jieguo; z=0;resultText.setText(+c9+!); c10=1; if(source=plu) if(z!=1) c5=1; c1=Double.parseDouble(resultText.getText().trim(); end=false;z=0; if(

26、z=1) c5=1;c1=jieguo; z=0; if(source=youk) c12=1; c11=Double.parseDouble(resultText.getText().trim(); end=false; if(source=min) if(z!=1) c6=1; c2=Double.parseDouble(resultText.getText().trim(); end=false; if(z=1) c6=1;c2=jieguo; z=0; if(source=mul) if(z!=1) c7=1; c3=Double.parseDouble(resultText.getT

27、ext().trim(); end=false; if(z=1) c7=1;c3=jieguo; z=0; if(source=div) if(z!=1) c8=1; c4=Double.parseDouble(resultText.getText().trim(); end=false; if(z=1) c8=1;c4=jieguo; z=0; z=0; if(source=equ) if(c10!=0) jieguo=1;for(int i=1;i=c9;i+) jieguo=i*jieguo; t=(+jieguo);c10=0; if(c5!=0.0) d=Double.parseDo

28、uble(resultText.getText().trim(); jieguo=c1+d; t=(+jieguo); c5=0; if(c6!=0.0) d=Double.parseDouble(resultText.getText().trim(); jieguo=c2-d; t=(+jieguo); c6=0; if(c7!=0.0) d=Double.parseDouble(resultText.getText().trim(); jieguo=c3*d; t=(+jieguo); c7=0; if(c8!=0.0) d=Double.parseDouble(resultText.ge

29、tText().trim(); jieguo=c4/d; t=(+jieguo); c8=0; if(c12!=0.0) d=Double.parseDouble(resultText.getText().trim(); jieguo=1; for(int i=1;i=d;i+) jieguo=c11*jieguo; t=(+jieguo); c12=0; end=false; resultText.setText(t); z=1; if(source=cle) resultText.setText(0); public static final int WIDTH = 400;public

30、static final int HEIGHT = 320; private JTextField resultText; public JMenuItem banquan,hongse,lanse,huise,tuichu; public JMenuItem zhizuodi ,chanpin; private JPanel buttons; private JButton num0,dao,gen,ss,bac; public JButton num1; public JButton num2; public JButton num3; public JButton num4; publi

31、c JButton num5; public JButton num6; public JButton num7; public JButton num8; public JButton num9; public JButton jiecheng; public JButton youk; public JButton dian; public JButton zf; public JButton plu; public JButton min; public JButton mul; public JButton div; public JButton equ; public JButton

32、 cle; public double c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c100,c101,c102,c103,c104,z; public double d,d11; public double jieguo; public boolean end=true; public int d1; 2、文本编辑器源代码。import java.awt.font.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import

33、 java.io.*;public class wenbenbianji public static void main(String args) ListFrame frame = new ListFrame();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.show();class ListFrame extends JFrame implements ActionListenerpublic ListFrame()setTitle(雷神牌笔记本);setSize(WIDTH, HEIGHT);Container co

34、ntentPane = getContentPane();/建立容纳文本区的面板JPanel textPanel = new JPanel();/新建文本区myTextArea = new JTextArea( 21, 43);JScrollPane textScrollPane = new JScrollPane(myTextArea);textPanel.add(textScrollPane);contentPane.add(textPanel);JMenuBar mainMenu = new JMenuBar(); setJMenuBar(mainMenu); JMenu actMenu

35、 = new JMenu(文件(A); JMenu bianMenu = new JMenu(编辑(B); JMenu setColorMenu = new JMenu(颜色(S); JMenu aboutMenu = new JMenu(作者(C); JMenu daxMenu = new JMenu(大小(D); JMenu zitMenu = new JMenu(字体(E); actMenu.setMnemonic(A);bianMenu.setMnemonic(B);setColorMenu.setMnemonic(S);aboutMenu.setMnemonic(C);daxMenu

36、.setMnemonic(D);zitMenu.setMnemonic(E); mainMenu.add(actMenu); mainMenu.add(bianMenu); mainMenu.add(aboutMenu); mainMenu.add(setColorMenu); mainMenu.add(daxMenu); mainMenu.add(zitMenu); tuichu = new JMenuItem(退出(T); actMenu.add(tuichu); tuichu.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_T, Inp

37、utEvent.CTRL_MASK);JMenu optionMenu = new JMenu(自动换行);optionMenu.setMnemonic(O); toolItem = new JCheckBoxMenuItem (自动换行);statusItem = new JCheckBoxMenuItem (取消自动);toolItem.addActionListener(this);statusItem.addActionListener(this);ButtonGroup group =new ButtonGroup();group.add(toolItem);group.add(st

38、atusItem);optionMenu.add(toolItem);optionMenu.add(statusItem);bianMenu.add(optionMenu);jianqie = new JMenuItem(剪切(M);niantie = new JMenuItem(粘贴(L);fuzhi = new JMenuItem(复制(N);jianqie.setMnemonic(M);fuzhi.setMnemonic(N);niantie.setMnemonic(L);bianMenu.add(jianqie);bianMenu.add(fuzhi);bianMenu.add(nia

39、ntie);dakai = new JMenuItem(打开(L); actMenu.add(dakai);dakai.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_L, InputEvent.CTRL_MASK);lingcun = new JMenuItem(另存为(Y); actMenu.add(lingcun);lingcun.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Y, InputEvent.CTRL_MASK);baocun = new JMenuItem(保存(Y);

40、 actMenu.add(baocun);baocun.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_K, InputEvent.CTRL_MASK); banquan = new JMenuItem(版权); aboutMenu.add(banquan); hongse = new JMenuItem(红色); setColorMenu.add(hongse); heise = new JMenuItem(黑色); setColorMenu.add(heise); lanse = new JMenuItem(蓝色); setColorMe

41、nu.add(lanse); huise = new JMenuItem(灰色); setColorMenu.add(huise);chengse=new JMenuItem(橙色);setColorMenu.add(chengse);luse=new JMenuItem(绿色);setColorMenu.add(luse); zhizuodi = new JMenuItem(地址); aboutMenu.add(zhizuodi);xinxi = new JMenuItem(关于产品);aboutMenu.add(xinxi);shezhi = new JMenuItem(设置); daxM

42、enu.add(shezhi);songti= new JMenuItem(宋体); zitMenu.add(songti);heiti= new JMenuItem(黑体); zitMenu.add(heiti);kaiti= new JMenuItem(楷体); zitMenu.add(kaiti);lishu= new JMenuItem(隶书); zitMenu.add(lishu);youyuan= new JMenuItem(幼圆); zitMenu.add(youyuan);lingcun.addActionListener(this);baocun.addActionListe

43、ner(this);tuichu.addActionListener(this);dakai.addActionListener(this);banquan.addActionListener(this);xinxi.addActionListener(this);zhizuodi.addActionListener(this);hongse.addActionListener(this);lanse.addActionListener(this);huise.addActionListener(this);heise.addActionListener(this);chengse.addAc

44、tionListener(this);luse.addActionListener(this);zitMenu.addActionListener(this);songti.addActionListener(this);heiti.addActionListener(this);kaiti.addActionListener(this);lishu.addActionListener(this);youyuan.addActionListener(this);daxMenu.addActionListener(this);shezhi.addActionListener(this);jian

45、qie.addActionListener(this);niantie.addActionListener(this);fuzhi.addActionListener(this); item11=new JMenuItem(复制); item12=new JMenuItem(粘贴); item13=new JMenuItem(剪切); item11.addActionListener(this); item12.addActionListener(this); item13.addActionListener(this); menu=new JPopupMenu(); menu.add(ite

46、m11); menu.add(item12); menu.add(item13);myTextArea.addMouseListener(new MouseAdapter() public void mousePressed(MouseEvent e) if(e.getModifiers()=InputEvent.BUTTON3_MASK) menu.show(myTextArea,e.getX(),e.getY(); );public void actionPerformed(ActionEvent e) Object source=e.getSource(); String t=null;

47、 if (source=banquan) int selection=JOptionPane.showConfirmDialog( ListFrame.this, 刘晓雷 20095406;李伟20095378;周洪芬20095379 ,版权, JOptionPane.DEFAULT_OPTION); if (source=banquan) int selection=JOptionPane.showConfirmDialog( ListFrame.this, 感谢观看 ,版权, JOptionPane.DEFAULT_OPTION); if (source=xinxi) int select

48、ion=JOptionPane.showConfirmDialog( ListFrame.this, 雷神牌记事本 n 雷神出品必为精品 ,产品信息, JOptionPane.DEFAULT_OPTION); if (source=zhizuodi) int selection=JOptionPane.showConfirmDialog( ListFrame.this, 合肥工业大学机房 ,地址, JOptionPane.DEFAULT_OPTION); /tuichucaidanif (source=tuichu) int selection = JOptionPane.showConfir

49、mDialog(ListFrame.this,确定退出么?, 退出?, JOptionPane.OK_CANCEL_OPTION,JOptionPane.WARNING_MESSAGE); if (selection = JOptionPane.OK_OPTION) System.exit(0); if(source=dakai)open.setVisible(true);String name=open.getDirectory()+open.getFile();tryFileInputStream laiyuan=new FileInputStream(name);byte duqu=ne

50、w bytelaiyuan.available();laiyuan.read(duqu);myTextArea.setText(new String(duqu);laiyuan.close();catch(IOException a)System.err.println(打开文件失败); if(source=lingcun)save.setVisible(true);String name=save.getDirectory()+save.getFile();tryOutputStream out=new FileOutputStream(name);out.write(myTextArea.

51、getText().getBytes();out.close();catch(IOException b)System.err.println(打开文件失败); shifulingcun=1; if(source=baocun)if(shifulingcun!=1)save.setVisible(true);shifulingcun=1;String name=save.getDirectory()+save.getFile();tryFileOutputStream out=new FileOutputStream(name);out.write(myTextArea.getText().g

52、etBytes();out.close();catch(IOException b)System.err.println(打开文件失败); /huanhang; if (source=toolItem) myTextArea.setLineWrap(true); if (source=statusItem) myTextArea.setLineWrap(false); /jianqieniantie if (source=jianqie) myTextArea.cut(); if (source=fuzhi) myTextArea.copy(); if (source=niantie) myT

53、extArea.paste(); if (source=item13) myTextArea.cut(); if (source=item11) myTextArea.copy(); if (source=item12) myTextArea.paste(); /字体zitiif (source=songti) Font f=myTextArea.getFont(); myTextArea.setFont(new Font(宋体,f.getStyle(),f.getSize(); if (source=heiti) Font f=myTextArea.getFont(); myTextArea

54、.setFont(new Font(黑体,f.getStyle(),f.getSize(); if (source=kaiti) Font f=myTextArea.getFont(); myTextArea.setFont(new Font(楷体,f.getStyle(),f.getSize(); if (source=lishu) Font f=myTextArea.getFont(); myTextArea.setFont(new Font(隶书,f.getStyle(),f.getSize(); if (source=youyuan) Font f=myTextArea.getFont

55、(); myTextArea.setFont(new Font(幼圆,f.getStyle(),f.getSize(); /yanse if (source=hongse) myTextArea.setForeground(Color.red); if (source=lanse) myTextArea.setForeground(Color.blue); if (source=huise) myTextArea.setForeground(Color.gray); if (source=chengse) myTextArea.setForeground(Color.orange); if (

56、source=luse) myTextArea.setForeground(Color.green); if (source=heise) myTextArea.setForeground(Color.black); /qianyan box.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) Object ss=box.getSelectedItem();String tr=(String)ss;if(tr=5)Font f=myTextArea.getFont();myTextArea.setFont(new Font(f.getName(),f.getStyle

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论