簡(jiǎn)易計(jì)算器課程設(shè)計(jì)_第1頁(yè)
簡(jiǎn)易計(jì)算器課程設(shè)計(jì)_第2頁(yè)
簡(jiǎn)易計(jì)算器課程設(shè)計(jì)_第3頁(yè)
簡(jiǎn)易計(jì)算器課程設(shè)計(jì)_第4頁(yè)
簡(jiǎn)易計(jì)算器課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、目錄一、運(yùn)行環(huán)境············································5二、問(wèn)題描述及要求···

2、···································5三、需求分析··············

3、;······························5四、設(shè)計(jì)思路··················

4、3;·························54.工作原理圖·······················&#

5、183;···············64.功能規(guī)劃·································&

6、#183;·······6五、程序的界面設(shè)計(jì)及代碼實(shí)現(xiàn)····························75.聲明的類··········

7、83;·····························75.引用的包···················&#

8、183;····················75.界面設(shè)計(jì)····························&

9、#183;···········75.4計(jì)算功能實(shí)現(xiàn)····································15六

10、、參考文獻(xiàn)···········································21七、總結(jié)·····&

11、#183;·········································21八、源代碼·······

12、······································22一、運(yùn)行環(huán)境(1)操作系統(tǒng):Solaris、Windows xp、Windows 7等(2). 應(yīng)用軟件:jdk1.5、Eclipse二、問(wèn)

13、題描述及要求制作一個(gè)計(jì)算器,要求仿Windows里的計(jì)算器,設(shè)計(jì)一個(gè)圖形界面,其中基本組件包括09、+、-、*、/、.、=、+/-、Back、CE、C、sqrt、%、1/x、。其基本功能完成加減乘除、開(kāi)方、求模、求倒,十進(jìn)制與八進(jìn)制、二進(jìn)制、十六進(jìn)制的轉(zhuǎn)換等,退格、清零等按鈕的實(shí)現(xiàn)。 在我的計(jì)算器上實(shí)現(xiàn)了以上功能。在菜單欄有查看、編輯、幫助菜單,在“查看”菜單中有“標(biāo)準(zhǔn)型”菜單項(xiàng),實(shí)現(xiàn)加減乘除等基本功能,“科學(xué)型”菜單項(xiàng),實(shí)現(xiàn)進(jìn)制間的轉(zhuǎn)換。在“編輯”菜單中有“復(fù)制”、“粘貼”菜單項(xiàng)。“幫助”菜單中有“關(guān)于計(jì)算器”、“幫助主題”菜單項(xiàng),并實(shí)現(xiàn)相關(guān)功能。三、需求分析日常生活中經(jīng)常需要用到計(jì)算器,比

14、如科學(xué)計(jì)算、數(shù)值計(jì)算、會(huì)計(jì)業(yè)務(wù)等,但簡(jiǎn)單的計(jì)算器已不能滿足日常需要,因此有必要開(kāi)發(fā)一些進(jìn)制轉(zhuǎn)換、開(kāi)方等多種運(yùn)算的計(jì)算器。創(chuàng)建一個(gè)簡(jiǎn)單計(jì)算器,具有簡(jiǎn)單的人機(jī)交互界面,便于數(shù)據(jù)計(jì)算。我的計(jì)算器具有的功能如下:1、實(shí)現(xiàn)基本的加、減、乘、除四則運(yùn)算及開(kāi)方、求倒、求模。2、Back退格、CE返回上層運(yùn)算符、C清零功能。3、十進(jìn)制與二進(jìn)制、八進(jìn)制、十六進(jìn)制之間的轉(zhuǎn)換。4、菜單中包含的一些功能,如幫助文檔。四、設(shè)計(jì)思路4.1 工作原理圖開(kāi)始按鍵判斷進(jìn)制轉(zhuǎn)換數(shù)字按鍵運(yùn)用相應(yīng)處理按鍵判斷運(yùn)算符按鍵進(jìn)制轉(zhuǎn)換顯示結(jié)果是否繼續(xù)操作結(jié)束4.2功能規(guī)劃 本程序繼承父類Frame,運(yùn)用了布局管理器GridLayout和Bo

15、rderlayout,將界面分為三塊,頂上為單行文本框,中間為進(jìn)制單選鈕和退格、清空按鈕,下面是數(shù)字、符號(hào)按鈕。各種按鈕采用行列的網(wǎng)格布局,并注冊(cè)按鈕事件監(jiān)聽(tīng)器。事件監(jiān)聽(tīng)器中的事件處理方法void actionPerformed(ActionEvent event)完成主要的按鈕事件的處理。事件分為以下幾種情況:數(shù)字按鈕事件()、運(yùn)算符按鈕事件(、×、)、正負(fù)號(hào)按鈕事件()、小數(shù)點(diǎn)按鈕事件()、等號(hào)按鈕事件()、求倒按鈕事件()、三角函數(shù)按鈕事件(cos,sin,tan)、開(kāi)方按鈕事件(sqrt)、對(duì)數(shù)按鈕事件(lgX,lnX)、進(jìn)制轉(zhuǎn)換按鈕事件。在此聲明的是每次輸入的數(shù)據(jù)都要進(jìn)行類

16、型轉(zhuǎn)換。五、程序的界面設(shè)計(jì)及代碼實(shí)現(xiàn)5.1聲明的類* 類名: calculator * 作用: 主類。* 繼承的父類: JFrame類 * 實(shí)現(xiàn)的接口:ActionListener類 * 類名: WindowDestroyer * 作用: 退出窗口動(dòng)作。 * 繼承的父類: WindowAdapter類 * 實(shí)現(xiàn)的接口:無(wú) * 類名: objConversion * 作用: 各個(gè)進(jìn)制之間的轉(zhuǎn)換。* 繼承的父類: 無(wú) * 實(shí)現(xiàn)的接口:無(wú) *5.2引用的包import java.awt.*;import javax.swing.*;import java.lang.Math;import java.

17、awt.event.*;5.3界面設(shè)計(jì)、調(diào)試后的界面:標(biāo)準(zhǔn)型JScrollPane scrollHelp;private objConversion convert = new objConversion();JMenuItem fileMenu,exitItemOfFile,s,t, about, me;JRadioButton sixteen,ten,eight,two;/單選按扭Jbutton Back,ce,c,num0,num1,num2,num3,num4,num5,num6,num7,num8,num9;Jbutton a,b,cc,dd,ee,ff,jia,jian,cheng

18、,chu,quyu,deng,fu,dian,kai,dao,cos,sin,tan,lgX,lnX;Container cp;/容器,便于集體操作 JTextField text; String copycontent="" boolean clickable=true,clear=true; int all=0; double qian; String fuhao,copy; int jin=10,first=1; public Calculator() super("計(jì)算器"); setSize(400,400); setLocation(400,

19、400); text=new JTextField(25); text.setHorizontalAlignment(JTextField.LEFT);/從左到右 JPanel cp1=new JPanel(); JPanel cp2=new JPanel(); JPanel cp3=new JPanel(); cp=getContentPane(); cp.add(cp1,"North"); cp.add(cp2,"Center"); cp.add(cp3,"South"); cp1.setLayout(new GridLayout

20、(1,1); cp2.setLayout(new GridLayout(2,4); cp3.setLayout(new GridLayout(7,4); sixteen=new JRadioButton("十六進(jìn)制"); sixteen.setVisible(false); ten=new JRadioButton("進(jìn)制",true); ten.setVisible(false); eight=new JRadioButton("八進(jìn)制"); eight.setVisible(false); two=new JRadioButton

21、("二進(jìn)制"); two.setVisible(false); a = new JButton("A"); a.setVisible(false); b = new JButton("B"); b.setVisible(false); cc = new JButton("C"); cc.setVisible(false); dd = new JButton("D"); dd.setVisible(false); ee = new JButton("E"); ee.setVis

22、ible(false); ff = new JButton("F"); ff.setVisible(false); jia = new JButton("+"); jian = new JButton("-"); cheng = new JButton("×"); chu = new JButton("÷"); quyu = new JButton("%"); deng = new JButton("="); fu = new JBut

23、ton("+/-"); dian = new JButton("."); kai = new JButton("sqrt"); dao = new JButton("1/x"); num0=new JButton("0"); num1=new JButton("1"); num2=new JButton("2"); num3=new JButton("3"); num4=new JButton("4"); num5=

24、new JButton("5"); num6=new JButton("6"); num7=new JButton("7"); num8=new JButton("8"); cos=new JButton("cos"); sin=new JButton("sin"); tan=new JButton("tan"); lgX=new JButton("lgX"); lnX=new JButton("lnX"); num

25、9=new JButton("9"); sixteen.addActionListener(this); ten.addActionListener(this); eight.addActionListener(this); two.addActionListener(this); ButtonGroup btg=new ButtonGroup();/創(chuàng)建一個(gè)多斥作用域 btg.add(sixteen); btg.add(ten); btg.add(eight); btg.add(two); cp1.add(text); text.setEditable(false); t

26、ext.setBackground(Color.white); Back=new JButton("Back");/Back Back.setForeground(Color.red); Back.addActionListener(this); ce=new JButton("CE");/CE ce.setForeground(Color.red); ce.addActionListener(this); c=new JButton("C");/C c.setForeground(Color.red); c.addActionLis

27、tener(this); cp2.add(sixteen); cp2.add(ten); cp2.add(eight); cp2.add(two); cp2.add(Back); cp2.add(ce); cp2.add(c); cp3.add(num7); num7.addActionListener(this); cp3.add(num8); num8.addActionListener(this); cp3.add(num9); num9.addActionListener(this); cp3.add(chu); chu.addActionListener(this); cp3.add

28、(kai); kai.addActionListener(this); cp3.add(num4); num4.addActionListener(this); cp3.add(num5); num5.addActionListener(this); cp3.add(num6); num6.addActionListener(this); cp3.add(cheng); cheng.addActionListener(this); cp3.add(quyu); quyu.addActionListener(this); cp3.add(num1); num1.addActionListener

29、(this); cp3.add(num2); num2.addActionListener(this); cp3.add(num3); num3.addActionListener(this); cp3.add(jian); jian.addActionListener(this); cp3.add(dao); dao.addActionListener(this); cp3.add(num0); num0.addActionListener(this); cp3.add(fu); fu.addActionListener(this); cp3.add(dian); dian.addActio

30、nListener(this); cp3.add(jia); jia.addActionListener(this); cp3.add(deng); deng.addActionListener(this); cp3.add(cos); cos.addActionListener(this); cp3.add(sin); sin.addActionListener(this); cp3.add(tan); tan.addActionListener(this); cp3.add(lnX); lnX.addActionListener(this); cp3.add(lgX); lgX.addAc

31、tionListener(this); cp3.add(a); a.setForeground(Color.magenta); a.setBackground(Color.pink); a.addActionListener(this); cp3.add(b); b.setForeground(Color.magenta); b.setBackground(Color.pink); b.addActionListener(this); cp3.add(cc); cc.setForeground(Color.magenta); cc.setBackground(Color.pink); cc.a

32、ddActionListener(this); cp3.add(dd); dd.setForeground(Color.magenta); dd.setBackground(Color.pink); dd.addActionListener(this); cp3.add(ee); ee.setForeground(Color.magenta); ee.setBackground(Color.pink); ee.addActionListener(this); cp3.add(ff); ff.setForeground(Color.magenta); ff.setBackground(Color

33、.pink); ff.addActionListener(this); JMenuBar mainMenu = new JMenuBar(); setJMenuBar(mainMenu); JMenu editMenu = new JMenu("編輯"); JMenu viewMenu = new JMenu("查看"); JMenu helpMenu = new JMenu("幫助"); mainMenu.add(viewMenu); mainMenu.add(editMenu); mainMenu.add(helpMenu); f

34、ileMenu = new JMenu("復(fù)制C Ctrl+C"); exitItemOfFile = new JMenuItem("粘貼V Ctrl+V"); fileMenu.addActionListener(this); exitItemOfFile.addActionListener(this); editMenu.add(fileMenu); editMenu.add(exitItemOfFile); t = new JMenuItem("標(biāo)準(zhǔn)型"); s = new JMenuItem(" 科學(xué)型")

35、; viewMenu.add(t); viewMenu.add(s); t.addActionListener(this); s.addActionListener(this); about = new JMenuItem(" 關(guān)于計(jì)算器"); me = new JMenuItem(" 幫助主題");helpMenu.add(about); helpMenu.add(me); about.addActionListener(this); me.addActionListener(this); addWindowListener(new WindowDes

36、troyer();、科學(xué)型:、這是“幫助”菜單里的“幫助主題”菜單項(xiàng):用了JtextArea將內(nèi)容顯示出來(lái)me = new JMenuItem(" 幫助主題"); JTextArea help = new JTextArea(10, 30); scrollHelp = new JScrollPane(help); help.setEditable(false); help.append("執(zhí)行簡(jiǎn)單計(jì)算 "+"n"); help.append("1. 鍵入計(jì)算的第一個(gè)數(shù)字。"+"n"); help

37、.append("2. 單擊“+”執(zhí)行加、“-”執(zhí)行減、“*”執(zhí)行乘或“/”執(zhí)行除"+"n"); help.append("3. 鍵入計(jì)算的下一個(gè)數(shù)字。"+"n"); help.append("4. 輸入所有剩余的運(yùn)算符和數(shù)字。"+"n"); help.append("5. 單擊“=“ ");、這是“幫助”菜單里的“關(guān)于計(jì)算器”菜單項(xiàng):用了JOptionPane.showMessageDialog(null, "計(jì)算機(jī)開(kāi)發(fā)者:魏曉力")

38、;5.4計(jì)算功能實(shí)現(xiàn)、四則運(yùn)算 if (temp = jia)/加法 qian = Double.parseDouble(text.getText(); fuhao = "+" clear = false; if (temp = jian) qian = Double.parseDouble(text.getText(); fuhao = "-" clear = false; if (temp = cheng) qian = Double.parseDouble(text.getText(); fuhao = "×" cle

39、ar = false; if(temp=chu) qian = Double.parseDouble(text.getText(); fuhao = "÷" clear = false; if (temp = quyu) qian = Double.parseDouble(text.getText(); fuhao="%" clear = false; if (temp = deng) double ss = Double.parseDouble(text.getText(); text.setText(""); if (f

40、uhao = "+") text.setText(qian + ss + ""); if (fuhao = "-") text.setText(qian - ss + ""); if (fuhao = "×") text.setText(qian * ss + ""); if (fuhao = "÷") text.setText(qian / ss + ""); if(fuhao="%") tex

41、t.setText(qian%ss + ""); clear = false;/要清空前一次的數(shù)據(jù) 、三角函數(shù)運(yùn)算if(temp=cos) text.setText(Double.toString(Math.cos(Double.parseDouble(text.getText()*Math.PI/180); if(temp=sin)text.setText(Double.toString(Math.sin(Double.parseDouble(text.getText()*Math.PI/180); if(temp=tan) text.setText(Double.toS

42、tring(Math.tan(Double.parseDouble(text.getText()*Math.PI/180); 、對(duì)數(shù)運(yùn)算if(temp=lgX) text.setText(Double.toString(Math.log10(Double.parseDouble(text.getText(); if(temp=lnX) text.setText(Double.toString(Math.log(Double.parseDouble(text.getText(); 、開(kāi)方、求倒運(yùn)算if (temp = kai) String s = text.getText(); if (s.c

43、harAt(0) = '-') text.setText("負(fù)數(shù)不能開(kāi)根號(hào)"); else text.setText(Double.toString(java.lang.Math.sqrt(Double.parseDouble(text.getText(); clear = false; if (temp = dao) if (text.getText().charAt(0) = '0' && text.getText().length() = 1) text.setText("除數(shù)不能為零"); else

44、 boolean isDec = true; int i, j, k; String s = Double.toString(1 / Double.parseDouble(text.getText(); for (i = 0; i < s.length(); i+) if (s.charAt(i) = '.') break; for (j = i + 1; j < s.length(); j+) if (s.charAt(j) != '0') isDec = false; break; if (isDec = true) String stemp =

45、 "" for (k = 0; k < i; k+) stemp += s.charAt(k); text.setText(stemp); else text.setText(s); clear = false; 、正負(fù)號(hào)運(yùn)算if (temp = fu) boolean isNumber = true; String s = text.getText(); for (int i = 0; i < s.length(); i+) if(!(s.charAt(i)>='0'&&s.charAt(i)<='9'

46、;|s.charAt(i)='.'|s.charAt(i)='-') isNumber = false; break; if (isNumber = true) if (s.charAt(0) = '-') text.setText(""); for (int i = 1; i < s.length(); i+) char a = s.charAt(i); text.setText(text.getText() + a); else text.setText('-' + s); 、退出窗口動(dòng)作class

47、WindowDestroyer extends WindowAdapter/ public void windowClosing(WindowEvent e) System.exit(0); 、進(jìn)制轉(zhuǎn)換class objConversion public String decDec(int decNum) String strDecNum = Integer.toString(decNum); for (int i = strDecNum.length(); i < 3; i+) strDecNum = "0" + strDecNum; return invert (

48、strDecNum, 5); public String decHex (int decNum)/10 to 16 String strHexNum = "" int currentNum = 0; while(decNum != 0) if (decNum > 15) currentNum=decNum%16; decNum /= 16; else currentNum = decNum; decNum = 0; switch (currentNum) case 15: strHexNum += "F" break; case 14: strHe

49、xNum += "E" break; case 13: strHexNum += "D" break; case 12: strHexNum += "C" break; case 11: strHexNum += "B" break; case 10: strHexNum += "A" break; default: strHexNum +=Integer.toString(currentNum);break; return invert(strHexNum,2); public String

50、decOct (int decNum)/10 to 8 String strOctNum = "" while (decNum != 0) if (decNum > 7) strOctNum += Integer.toString(decNum % 8); decNum /= 8; else strOctNum += Integer.toString(decNum); decNum = 0; return invert (strOctNum, 3); public String decBin (int decNum) /10 to 2 String strBinNum

51、 = "" while (decNum != 0) if (decNum > 1) strBinNum += Integer.toString(decNum % 2); decNum /= 2; else strBinNum += Integer.toString(decNum); decNum = 0; return invert (strBinNum, 8); private String invert(String strNum,int minLength) String answer = "" int length = strNum.len

52、gth(); if (length < minLength) for (int padding =(minLength -length);padding>0;padding-) answer += "0" for(int i=length;i>0;i-) answer+=strNum.charAt(i-1); return answer; 六、參考文獻(xiàn)01施霞萍,張歡.Java課程設(shè)計(jì)(第二版)M機(jī)械工業(yè)出版社.2006年8月02 耿祥義,張躍平. Java2實(shí)用教程(第三版).清華大學(xué)出版社。七、總結(jié)設(shè)計(jì)給人以創(chuàng)作的沖動(dòng),但是也要為這次沖動(dòng)承擔(dān)一定的痛苦

53、,卻事后會(huì)發(fā)現(xiàn),這一切都是值得的。本次的Java課程設(shè)計(jì)讓我對(duì)Java的理論知識(shí)又有了更深一步的了解,溫故而知新,開(kāi)始設(shè)計(jì)時(shí)完全沒(méi)頭緒,感覺(jué)很混亂,對(duì)書本知識(shí)不夠扎實(shí)的我深感“書到用時(shí)方恨少”,只好又一遍瀏覽全書,讓我對(duì)其有了大概的復(fù)習(xí),對(duì)知識(shí)系統(tǒng)全面進(jìn)行了了解,讓我里出了我設(shè)計(jì)的框架,遇到困難時(shí)先是苦思冥想在向同學(xué)請(qǐng)教。這次課程設(shè)計(jì)使我感到收獲不小,讓我對(duì)Java的設(shè)計(jì)過(guò)程有了更深的了解,促進(jìn)了對(duì)理論知識(shí)的消化與吸收,也鞏固和完善了本門課程的知識(shí)體系結(jié)構(gòu)。設(shè)計(jì)過(guò)程中遇到了不少麻煩:如進(jìn)制間的轉(zhuǎn)換,也遇到了平時(shí)學(xué)習(xí)中老師強(qiáng)調(diào)與教過(guò)的疑難點(diǎn),不懂的通過(guò)翻閱資料和與同學(xué)間的討論都一一解決了。通過(guò)實(shí)

54、踐讓我發(fā)現(xiàn)了我的不足,并加深了自身學(xué)習(xí)能力,提高了綜合能力。因此在以后的學(xué)習(xí)中我會(huì)通過(guò)實(shí)踐來(lái)檢驗(yàn)自己的不足和加深、鞏固自身。以此來(lái)完善自己的知識(shí)系統(tǒng)。這次課程設(shè)計(jì)的主要目的是學(xué)會(huì)Java程序開(kāi)發(fā)的環(huán)境搭建與配置,并在實(shí)際運(yùn)用中學(xué)習(xí)和掌握J(rèn)ava程序開(kāi)發(fā)的全過(guò)程,以及進(jìn)一步熟悉掌握J(rèn)ava程序設(shè)計(jì)語(yǔ)言的基礎(chǔ)內(nèi)容,提高Java編程技術(shù)以及分析解決問(wèn)題的綜合能力。通過(guò)這次課程設(shè)計(jì),我基本掌握了以上要求。由于專業(yè)知識(shí)有限,以及動(dòng)手能力的欠缺,所以開(kāi)發(fā)的系統(tǒng)不是很完善,有一些功能未實(shí)現(xiàn),但是簡(jiǎn)易計(jì)算器的基本功能均已實(shí)現(xiàn)。以前對(duì)Java語(yǔ)言的很多知識(shí)認(rèn)識(shí)都不深刻,做過(guò)這次課程設(shè)計(jì)之后,我對(duì)Java語(yǔ)言的開(kāi)

55、發(fā)有了一個(gè)比較系統(tǒng)的了解;比如:用戶圖形界面設(shè)計(jì)等的運(yùn)用已經(jīng)比較熟練。八、源代碼import java.awt.*;import javax.swing.*;import java.lang.Math;import java.awt.event.*;public class Calculator extends JFrame implements ActionListenerJScrollPane scrollHelp;private objConversion convert = new objConversion();/各個(gè)進(jìn)制之間的轉(zhuǎn)化JMenuItem fileMenu,exitIte

56、mOfFile,s,t, about, me;JRadioButton sixteen,ten,eight,two;/單選按扭JButton Back,ce,c,num0,num1,num2,num3,num4,num5,num6,num7,num8,num9;JButton a,b,cc,dd,ee,ff,jia,jian,cheng,chu,quyu,deng,fu,dian,kai,dao,cos,sin,tan,lgX,lnX;Container cp;/容器,便于集體操作 JTextField text; String copycontent="" boolean

57、 clickable=true,clear=true; int all=0; double qian; String fuhao,copy; int jin=10,first=1; public Calculator() super("計(jì)算器"); setSize(400,400); setLocation(400,400); text=new JTextField(25); text.setHorizontalAlignment(JTextField.LEFT);/從左到右 JPanel cp1=new JPanel(); JPanel cp2=new JPanel(); JPanel cp3=new JPanel(); cp=getConten

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論