




已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
Java課程設(shè)計報告(2014)Java課程設(shè)計報告保存計算過程的計算器的設(shè)計專業(yè)計算科學(xué)與技術(shù)(網(wǎng)絡(luò)技術(shù))學(xué)生姓名班級學(xué)號1指導(dǎo)教師完成日期1目 錄1 設(shè)計要求12 總體設(shè)計12.1 CalculatorWindow類設(shè)計22.2 NumberButton類設(shè)計22.3 OperationButton類設(shè)計22.4 HandleDigit類設(shè)計22.5 HandleOperation類設(shè)計22.6 HandleDot類設(shè)計32.7 HandleEquality類設(shè)計32.8 HandleSin類設(shè)計32.9 HandleBack類設(shè)計32.10 HandleClear類設(shè)計32.11 HandlePOrN類設(shè)計33詳細(xì)設(shè)計33.1CalculatorWindow類33.2NumberButton類93.3 OperationButton類103.4 HandleDigit類113.5 HandleOperation類133.6 HandleDot類163.7 HandlePOrN類183.8 HandleEquality類193.9 HandleSin類223.10 HandleBack類243.11 HandleClear類264代碼調(diào)試問題285軟件發(fā)布286 程序運行效果287 設(shè)計心得303保存過程的計算器的設(shè)計1 設(shè)計要求Windows 2000/XP系統(tǒng)中的“計算器”是一個方便實用的計算機工具,但是沒有提供顯示計算過程的功能。本計算器所遵循的計算規(guī)則與Windows 2000/XP系統(tǒng)中的“計算器”相同,出了具有普通的計算功能外,還具有現(xiàn)實計算過程,保存計算過程的功能。(1)單擊“計算器”上的數(shù)字按鈕(0、1、2、3、4、5、6、7、8、9)可以設(shè)置參與計算的運算數(shù)。(2)單擊“計算器”上的運算符按鈕(+、-、*、/)可以選擇運算符號。(3)單擊“計算器”上的函數(shù)按鈕可以顯示相應(yīng)的函數(shù)值。(4)單擊“計算器”上的“=”按鈕顯示計算結(jié)果。(5)在一個文本框中顯示當(dāng)前的計算過程,在一個文本區(qū)中顯示以往的計算過程和發(fā)生計算時的系統(tǒng)時間。(6)單擊“保存”按鈕可以將文本區(qū)中的全部計算過程保存到文件;單擊“復(fù)制”按鈕可以將文本區(qū)中選中的文本復(fù)制到剪貼板;單擊“清除”按鈕可以清楚文本區(qū)中的全部內(nèi)容。2 總體設(shè)計在設(shè)計計算器時,可以編寫11個Java源文件:CalculatorWindow.java、NumberButton.java、OperationButton.java、HandleDigit.java、HandleOperation.java、HandleDot.java、HandleEquality.java、HandleSin.java、HandleBack.java、HandleClear.java、HandlePOrN.java。計算器除了上述的11個Java源文件給出的類外,還需要Java提供的一些重要的類,入JButton、JTextField、JTextArea和LinkedList等。CalculatorWindowLinkedListJTexrAreaNumberButtonOperationButtonHandleDigitHandleOperationHandleDotJButtonJTextFieldHandleDotHandlePOrNHandleEqualityHandleSinHandleBackHandleBack圖2.1 類之間的組合關(guān)系2.1 CalculatorWindow類設(shè)計CalculatorWindow類負(fù)責(zé)創(chuàng)建計算器的主窗口,該類含有Main方法,計算器從該類開始執(zhí)行。CalculatorWindow有十四種類型的對象,分別是LinkedList、NumberButton、OperationButton、JButton、JTextField、JTextArea、HandleDigit、HandleOperation、HandleDot、HandleEquality、HandleSin、HandleBack、HandleClear、HandlePOrN對象。CalcuatorWindow類創(chuàng)建的窗口以及其中的主要成員如圖2.2所示。CalculatorWindow類的主要成員的作用將在后面的詳細(xì)設(shè)計中闡述。圖2.2 CalculatorWindow窗口及主要的對象成員2.2 NumberButton類設(shè)計NumberButton類創(chuàng)建的對象是主類CalculatorWindow窗口中的一個“數(shù)字”按鈕。NumberButton類有一個int類型的成員number,標(biāo)明所創(chuàng)建的按鈕所含有的數(shù)字。NumberButton所創(chuàng)建的10個按鈕被添加到CalcuatorWindow窗口中。2.3 OperationButton類設(shè)計OperationButton類創(chuàng)建的對象是主類CalculatorWindow窗口中的一個“運算符”按鈕。OperationButton類有一個String類型的成員operateSign,用于標(biāo)明所創(chuàng)建的按鈕所含有的運算符號。OperationButton所創(chuàng)建的4個按鈕被添加到CalculatorWindow窗口中。2.4 HandleDigit類設(shè)計 HandleDigit類創(chuàng)建的對象負(fù)責(zé)處理ActionEvent事件。當(dāng)用戶單擊“數(shù)字”按鈕時,HandleDigit類所創(chuàng)建的對象負(fù)責(zé)處理和數(shù)字有關(guān)的計算過程。2.5 HandleOperation類設(shè)計HandleOperation類創(chuàng)建的對象負(fù)責(zé)處理ActionEvent事件,當(dāng)用戶單擊“運算符”按鈕時,HandleOperation類所創(chuàng)建的對象負(fù)責(zé)處理和運算符有關(guān)的計算過程。2.6 HandleDot類設(shè)計HandleDot類創(chuàng)建的對象負(fù)責(zé)處理ActionEvent事件,當(dāng)用戶單擊“.”按鈕(小數(shù)點)時,HandleDot類所創(chuàng)建的對象負(fù)責(zé)處理小數(shù)點。2.7 HandleEquality類設(shè)計HandleEquality類創(chuàng)建的對象負(fù)責(zé)處理ActionEvent事件。當(dāng)用戶單擊“=”按鈕時,HandleEquality類所創(chuàng)建的對象計算有關(guān)數(shù)據(jù)。2.8 HandleSin類設(shè)計HandleSin類創(chuàng)建的對象負(fù)責(zé)處理ActionEvent事件。當(dāng)用戶單擊“sin”按鈕(正弦三角函數(shù))時,HandleSin類所創(chuàng)建的對象負(fù)責(zé)處理正弦三角函數(shù)的值。2.9 HandleBack類設(shè)計HandleBack類創(chuàng)建的對象負(fù)責(zé)處理ActionEvent事件。當(dāng)用戶單擊“退格”按鈕時,HandleBack類所創(chuàng)建的對象負(fù)責(zé)計算正弦三晉函數(shù)的值。2.10 HandleClear類設(shè)計HandleClear所創(chuàng)建的對象負(fù)責(zé)處理ActionEvent事件。當(dāng)用戶成功單擊C按鈕(清零)時,HandleClear類所創(chuàng)建的對象負(fù)責(zé)清除有關(guān)的計算結(jié)果。2.11 HandlePOrN類設(shè)計HandlePOrN類創(chuàng)建的對象負(fù)責(zé)處理ActionEvent事件。當(dāng)用戶單擊“+/-”(正負(fù))按鈕時,HandlePOrN類所創(chuàng)建的對象負(fù)責(zé)處理數(shù)字的正負(fù)轉(zhuǎn)換。3詳細(xì)設(shè)計3.1CalculatorWindow類1、效果圖CalculatorWindow創(chuàng)建的窗口效果如圖3.1所示。圖3.1 CalculatorWindow創(chuàng)建的窗口2、UML圖CalculatorWindow類是javax.swing包中JFrame的一個子類,并實現(xiàn)了ActionListener接口。標(biāo)明該類的主要成員變量和方法的UML圖如圖3.2所示。JFrameActionListenerCalculatorWindownumberButton:NumberButton;operationButton:OperationButton;Flex, zhengfu, Backspace, Equals, Zero, sin:JButtonresultShow,showComputerProcess:JTextFieldsaveComputerProcess:JTextArealist:LinkedListhandleDigit:HandleDigithandleOperation:HandleOperationhandleBack:HandleBackhandleClear:HandleClearhandleEquality:HandleEqualityhandleDot:HandleDothandlePOrN:HandlePOrNhandleSin:HandleSinactionPerformed(ActionEvent):voidCalculatorWindow():無類型main(String):void圖3.2 CalculatorWindow類的UML圖3、類設(shè)計模塊名稱CalculatorWindow功能描述負(fù)責(zé)創(chuàng)建計算器的主窗口接口與屬性Void actionPerformed()Function:對saveButton,copyButton,clearButton三個按鈕的ActionEvent事件監(jiān)聽InPut: 無OutPut: 無Return:空CalculatorWindow()Function:是構(gòu)造方法,負(fù)責(zé)完成窗口的初始化InPut: 無OutPut:無Return:空Static void Main()Functon:是計算器程序運行的入口方法InPut:無OutPut:無Return:空數(shù)據(jù)結(jié)構(gòu)與算法Linkedlist(String)list補充說明無4、代碼(CalculatorWindow.java)import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.*;import java.util.LinkedList;import java.io.*;public class CalculatorWindow extends JFrame implements ActionListener NumberButton numberButton; OperationButton operationButton; JButton Flex, zhengfu, Backspace, Equals, Zero, sin; JTextField resultShow; /顯示計算結(jié)果 JTextField showComputerProcess; /顯示當(dāng)前計算過程 JTextArea saveComputerProcess; /顯示計算步驟 JButton saveButton, copyButton, clearButton; LinkedList list; /鏈表用來存放第一個運算數(shù)、運算符號和第二個運算數(shù) HandleDigit handleDigit; /負(fù)責(zé)處理ActionEvent事件 HandleOperation handleOperation; HandleBack handleBack; HandleClear handleClear; HandleEquality handleEquality; HandleDot handleDot; HandlePOrN handlePOrN; HandleSin handleSin; public CalculatorWindow() setTitle(計算器 計算機112班 程逸群); JPanel panelLeft, panelRight; list = new LinkedList(); resultShow = new JTextField(10); resultShow.setHorizontalAlignment(JTextField.RIGHT); resultShow.setForeground(Color.blue); resultShow.setFont(new Font(TimesRoman, Font.BOLD, 16); resultShow.setBorder(new SoftBevelBorder(BevelBorder.LOWERED); resultShow.setEditable(false); resultShow.setBackground(Color.white); showComputerProcess = new JTextField(); showComputerProcess.setHorizontalAlignment(JTextField.CENTER); showComputerProcess.setFont(new Font(Arial, Font.BOLD, 16); showComputerProcess.setBackground(Color.cyan); showComputerProcess.setEditable(false); saveComputerProcess = new JTextArea(); saveComputerProcess.setEditable(false); saveComputerProcess.setFont(new Font(宋體, Font.PLAIN, 16); numberButton = new NumberButton10; handleDigit = new HandleDigit(list, resultShow, showComputerProcess); for (int i = 0; i = 9; i+) numberButtoni = new NumberButton(i); numberButtoni.setFont(new Font(Arial, Font.BOLD, 20); numberButtoni.addActionListener(handleDigit); operationButton = new OperationButton4; handleOperation = new HandleOperation(list, resultShow, showComputerProcess, saveComputerProcess); String yunsuan = +, -, *, /; for (int i = 0; i 4; i+) operationButtoni = new OperationButton(yunsuani); operationButtoni.setFont(new Font(Arial, Font.BOLD, 20); operationButtoni.addActionListener(handleOperation); Flex = new JButton(.); handleDot = new HandleDot(list, resultShow, showComputerProcess); Flex.addActionListener(handleDot); zhengfu = new JButton(+/-); handlePOrN = new HandlePOrN(list, resultShow, showComputerProcess); zhengfu.addActionListener(handlePOrN); Equals = new JButton(=); handleEquality = new HandleEquality(list, resultShow, showComputerProcess, saveComputerProcess); Equals.addActionListener(handleEquality); sin = new JButton(sin); handleSin = new HandleSin(list, resultShow, showComputerProcess, saveComputerProcess); sin.addActionListener(handleSin); Backspace = new JButton(退格); handleBack = new HandleBack(list, resultShow, showComputerProcess); Backspace.addActionListener(handleBack); Zero = new JButton(C); handleClear = new HandleClear(list, resultShow, showComputerProcess); Zero.addActionListener(handleClear); Zero.setForeground(Color.red); Backspace.setForeground(Color.red); Equals.setForeground(Color.red); sin.setForeground(Color.blue); zhengfu.setForeground(Color.blue); Flex.setForeground(Color.blue); panelLeft = new JPanel(); panelRight = new JPanel(); panelLeft.setLayout(new BorderLayout(); JPanel centerInLeft = new JPanel(); panelLeft.add(resultShow, BorderLayout.NORTH); panelLeft.add(centerInLeft, BorderLayout.CENTER); centerInLeft.setLayout(new GridLayout(4, 5); centerInLeft.add(numberButton1); centerInLeft.add(numberButton2); centerInLeft.add(numberButton3); centerInLeft.add(operationButton0); centerInLeft.add(Zero); centerInLeft.add(numberButton4); centerInLeft.add(numberButton5); centerInLeft.add(numberButton6); centerInLeft.add(operationButton1); centerInLeft.add(Backspace); centerInLeft.add(numberButton7); centerInLeft.add(numberButton8); centerInLeft.add(numberButton9); centerInLeft.add(operationButton2); centerInLeft.add(sin); centerInLeft.add(numberButton0); centerInLeft.add(zhengfu); centerInLeft.add(Flex); centerInLeft.add(operationButton3); centerInLeft.add(Equals); panelRight.setLayout(new BorderLayout(); panelRight.add(showComputerProcess, BorderLayout.NORTH); saveButton = new JButton(保存); copyButton = new JButton(復(fù)制); clearButton = new JButton(清除); saveButton.setToolTipText(保存計算過程到文件); copyButton.setToolTipText(復(fù)制選中的計算過程); clearButton.setToolTipText(清除計算過程); saveButton.addActionListener(this); copyButton.addActionListener(this); clearButton.addActionListener(this); panelRight.add(new JScrollPane(saveComputerProcess), BorderLayout.CENTER); JPanel southInPanelRight = new JPanel(); southInPanelRight.add(saveButton); southInPanelRight.add(copyButton); southInPanelRight.add(clearButton); panelRight.add(southInPanelRight, BorderLayout.SOUTH); JSplitPane split = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, panelLeft, panelRight); add(split, BorderLayout.CENTER); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); setBounds(100, 50, 528, 258); validate(); public void actionPerformed(ActionEvent e) if (e.getSource() = copyButton) saveComputerProcess.copy(); if (e.getSource() = clearButton) saveComputerProcess.setText(null); if (e.getSource() = saveButton) JFileChooser chooser = new JFileChooser(); int state = chooser.showSaveDialog(null); File file = chooser.getSelectedFile(); if (file != null & state = JFileChooser.APPROVE_OPTION) try String content = saveComputerProcess.getText(); StringReader read = new StringReader(content); BufferedReader in = new BufferedReader(read); FileWriter outOne = new FileWriter(file); BufferedWriter out = new BufferedWriter(outOne); String str = null; while (str = in.readLine() != null) out.write(str); out.newLine(); in.close(); out.close(); catch (IOException e1) public static void main(String args) new CalculatorWindow(); 3.2NumberButton類1、效果圖NumberButton創(chuàng)建的數(shù)字按鈕效果如圖3.3所示。圖3.3 NumberButton創(chuàng)建的數(shù)字按鈕2、UML圖NumberButton類是javax.swing包中JButton的一個子類,所創(chuàng)建的對象是CalculatorWindow類中NumberButton型數(shù)組:numberButton中的元素。標(biāo)明NumberButton類的主要成員變量、方法以及CalculatorWindow類之間組合關(guān)系的UML圖如圖3.4所示。JButtonNumberButtonCalculatorWindownumber:intnumberButton:NumberButtonNumberButton(int):無類型getNumber():int圖3.4 NumberButton類的UML圖3、類設(shè)計模塊名稱NumberButton功能描述負(fù)責(zé)創(chuàng)建主窗口中的一個“數(shù)字”按鈕接口與屬性String getNumber()Function:返回數(shù)字符號 InPut: 無OutPut: 無Return:數(shù)字符號NumberButton()Function:是構(gòu)造方法,創(chuàng)建NumberButton對象InPut: 無OutPut:無Return:空數(shù)據(jù)結(jié)構(gòu)與算法Linkedlist(String)list 補充說明無4、代碼(NumberButton.java)import java.awt.*;import java.awt.event.*;import javax.swing.*;public class NumberButton extends JButton int number; public NumberButton(int number) super( + number); this.number = number; setForeground(Color.blue); public int getNumber() return number; 3.3 OperationButton類1、效果圖OperationButton創(chuàng)建的運算符按鈕的效果如圖3.5所示。圖3.5 OperationButton創(chuàng)建的數(shù)字按鈕2、UML圖OperationButton是Javax.swing包中JButton組件的子類。所創(chuàng)建的對象是CalculatorWindow類中OperationButton型數(shù)組:operationButton中的元素。標(biāo)明OperationButton類的主要成員變量、方法以及和CalculatorWindow類直接的組合關(guān)系的UML如圖3.6所示。JButtonOperationButtonCalculatorWindowoperationSign:StringOperationButton:OperationButtonOperationButton(String):無類型getOperation():String圖3.6 OperationButton類的UML圖3、類設(shè)計模塊名稱OperationButton功能描述創(chuàng)建主窗口中的一個“運算符”按鈕接口與屬性String getOperationSign()Function:返回操作符號InPut: 無OutPut: 無Return:運算符號OperationButton()Function:是構(gòu)造方法,創(chuàng)建OperationButton對象InPut: SOutPut:無Return:空數(shù)據(jù)結(jié)構(gòu)與算法無補充說明無4、代碼(OperationButton.java)import java.awt.*;import java.awt.event.*;import javax.swing.*;public class OperationButton extends JButton String operateSign; public OperationButton(String s) super(s); operateSign = s; setForeground(Color.red); public String getOperateSign() return operateSign; 3.4 HandleDigit類1、效果圖HandleDigit類創(chuàng)建的對象無效果圖。2、UML圖HandleDigit類實現(xiàn)了ActionListener接口,創(chuàng)建的對象handleDigit是CalculatorWindow窗口的成員之一。標(biāo)明HandleDigit類的主要成員變量、方法以及和CalculatorWindow類之間組合關(guān)系的UML圖如圖3.7所示。ActionListenerHandleDigitCalculatorWindowlist:LinkedListresultShow:JTextFieldshowComputerProcess:JTextFieldhandleDigit:HandleDigitHandleDigit(LinkedList,JTextField,JTextField):無類型actionPerformed(ActionEvent):void圖3.7 HandleDigit類的UML圖3、類設(shè)計模塊名稱HandleDigit功能描述用戶單擊“數(shù)字”按鈕時,負(fù)責(zé)處理和運算符有關(guān)的計算結(jié)果接口與屬性Void actionPerformed()Function:處理list鏈表中存儲的第一個操作數(shù)和第二個操作數(shù)InPut: 無OutPut: 無Return:空HandleDigit()Function:是構(gòu)造方法,創(chuàng)建HandleDigit對象InPut: t1,t2OutPut:無Return:空數(shù)據(jù)結(jié)構(gòu)與算法Linkedlist(String)list補充說明無4、代碼(HandleDigit.java)import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.LinkedList;import javax.swing.JTextField;public class HandleDigit implements ActionListener LinkedList list; JTextField resultShow; JTextField showComputerProcess; HandleDigit(LinkedList list, JTextField t1, JTextField t2) this.list = list; resultShow = t1; showComputerProcess = t2; public void actionPerformed(ActionEvent e) NumberButton b = (NumberButton) e.getSource(); if (list.size() = 0) int number = b.getNumber(); list.add( + number); resultShow.setText( + number); showComputerProcess.setText( + list.get(0); else if (list.size() = 1) int number = b.getNumber(); String num = list.getFirst(); String s = num.concat( + number); list.set(0, s); resultShow.setText(s); showComputerProcess.setText( + list.get(0); else if (list.size() = 2) int number = b.getNumber(); list.add( + number); resultShow.setText( + number); showComputerProcess.setText( + list.get(0) + + list.get(1) + + list.get(2); else if (list.size() = 3) int number = b.getNumber(); String num = list.getLast(); String s = num.concat( + number); list.set(2, s); resultShow.setText(s); showComputerProcess.setText( + list.get(0) + + list.get(1) + + list.get(2); 3.5 HandleOperation類1、效果圖HandleOperation類創(chuàng)建的對象無效果圖。2、UML圖HandleOperation類實現(xiàn)了ActionListener接口,創(chuàng)建的對象handleOperation是CalculatorWindow窗口的成員之一。標(biāo)明HandleOperation類的主要成員變量、方法以及和CalculatorWindow類之間組合關(guān)系的UML圖如圖3.8所示。ActionListenerHandleOperationCalculatorWindowlist:LinkedListresultShow:JTextFieldshowComputerProcess:JTextFieldsaveComputerProcess:JTextAreahandleOperation:HandleOperationHandleOperation (LinkedList,JTextField,JTextField,JTextArea):無類型actionPerformed(ActionEvent):void圖3.8 HandleOperation類的UML圖3、類設(shè)計模塊名稱HandleOperation功能描述用戶單擊“運算符”按鈕時,負(fù)責(zé)處理和運算符有關(guān)的計算結(jié)果接口與屬性Void actionPerformed()Function:處理list鏈表中存儲的運算符和必要的計算 InPut: 無OutPut: 無Return:空HandleOperation()Function:是構(gòu)造方法,創(chuàng)建HandleOperationt對象InPut: t1,t2,t3OutPut:無Return:空數(shù)據(jù)結(jié)構(gòu)與
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 酒店公共知識培訓(xùn)課件
- 危重病人制度護(hù)理培訓(xùn)
- 2025年員工個人工作方案怎么寫
- 動漫繪畫課件
- 2025年員工下半年工作方案模板
- 2025年慶祝圣誕節(jié)活動策劃方案
- 護(hù)理創(chuàng)新用具成果展示
- 市場行銷管理
- 浙江省溫州市鹿城區(qū)溫州市實驗中學(xué)2024-2025學(xué)年初三綜合練習(xí)化學(xué)試題卷(三模)含解析
- 湖南省長沙市湖南師大附中教育集團(tuán)2025屆初三9月月考化學(xué)試題含解析
- 中國大學(xué)生心理健康量表(CCSMHS)
- (本科)審計(第五版)全套教學(xué)課件完整版PPT
- GB∕T 3639-2021 冷拔或冷軋精密無縫鋼管
- 西師版六年級下冊數(shù)學(xué)第五單元 總復(fù)習(xí) 教案
- 拖欠貨款合同糾紛起訴狀范本
- 幼兒繪本故事:迪迪不想原諒人
- 碳酸丙烯酯法脫碳工藝工程設(shè)計
- 巧用繪本提升自閉癥兒童語言表達(dá)能力
- 計數(shù)型量具分析報告(Excel帶計算KAPPA公式)
- 譯林版六年級下冊英語期中試卷(江蘇南京江北新區(qū)2021年真卷含聽力答案)
- 獨生子女父母退休一次性獎勵審批1
評論
0/150
提交評論