![JAVA高級程序設(shè)計課程設(shè)計任務(wù)書_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/7/cb9a9a27-4156-4d22-9f86-4ff2f831f9a7/cb9a9a27-4156-4d22-9f86-4ff2f831f9a71.gif)
![JAVA高級程序設(shè)計課程設(shè)計任務(wù)書_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/7/cb9a9a27-4156-4d22-9f86-4ff2f831f9a7/cb9a9a27-4156-4d22-9f86-4ff2f831f9a72.gif)
![JAVA高級程序設(shè)計課程設(shè)計任務(wù)書_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/7/cb9a9a27-4156-4d22-9f86-4ff2f831f9a7/cb9a9a27-4156-4d22-9f86-4ff2f831f9a73.gif)
![JAVA高級程序設(shè)計課程設(shè)計任務(wù)書_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/7/cb9a9a27-4156-4d22-9f86-4ff2f831f9a7/cb9a9a27-4156-4d22-9f86-4ff2f831f9a74.gif)
![JAVA高級程序設(shè)計課程設(shè)計任務(wù)書_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/7/cb9a9a27-4156-4d22-9f86-4ff2f831f9a7/cb9a9a27-4156-4d22-9f86-4ff2f831f9a75.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上存檔資料 成績: 廣西師范大學(xué)漓江學(xué)院課程設(shè)計報告書課程名稱:JAVA高級程序設(shè)計課程設(shè)計設(shè)計題目:基于C/S架構(gòu)的聊天工具的設(shè)計與實現(xiàn)所在系部:理學(xué)系班 級:12計算機學(xué)號:學(xué)生姓名:指導(dǎo)教師:肖建明2014年 4 月 日專心-專注-專業(yè)課程設(shè)計(論文)評閱意見序號項 目等級優(yōu)秀良好中等及格不及格1課程設(shè)計態(tài)度及出勤情況2任務(wù)完成程度3設(shè)計中創(chuàng)新性4論文書寫規(guī)范化綜合評定等級課程設(shè)計軟件演示及答辯成績序號項 目等級優(yōu)秀良好中等及格不及格1演示過程完成情況2對軟件代碼熟悉情況3回答問題準(zhǔn)確性和邏輯性綜合評定等級課程設(shè)計軟件界面及功能設(shè)計成績序號項 目等級優(yōu)秀良好中等及
2、格不及格1界面美觀及可操作性2功能實現(xiàn)情況及創(chuàng)新性3代碼的可讀性和可維護性綜合評定等級評閱人 年 月 日課程設(shè)計任務(wù)書一、本課程設(shè)計的目的1.使學(xué)生能夠更好地掌握J(rèn)ava程序設(shè)計語言和理解面向?qū)ο蟪绦蛟O(shè)計的基本概念與方法; 2.掌握類和對象的創(chuàng)建和使用,理解面向?qū)ο蟮姆庋b性、繼承性、多態(tài)性和面向接口編程的程序設(shè)計思想,學(xué)會利用Java語言和面向?qū)ο缶幊谭椒ń鉀Q一般應(yīng)用問題;3.從實踐中累積經(jīng)驗、培養(yǎng)學(xué)生分析、解決問題的能力;4.提高學(xué)生實踐論文撰寫能力。 5.初步掌握使用Java語言開發(fā)小型應(yīng)用軟件的基本方法和步驟二、課程設(shè)計的教學(xué)過程與考核方法1課程設(shè)計以小項目的方式開展,以分組(1-2人一
3、組)的形式進行。2第一次實驗課時,任課教師下達課程設(shè)計題目任務(wù),講解課程設(shè)計的題目要求和注意事項,并要求學(xué)生根據(jù)題目要求進行界面的設(shè)計和功能代碼編寫工作,完成課程設(shè)計報告。3課程設(shè)計實驗進行過程中,教師根據(jù)實驗的進度分模塊講述課程設(shè)計題目的設(shè)計要點。教師給予技術(shù)和方法上的指導(dǎo),每個學(xué)生自己動手完成項目,并要求學(xué)生積極開展邏輯思維,充分發(fā)揮自己的創(chuàng)意,設(shè)計出優(yōu)秀的課程設(shè)計作品。4課程設(shè)計結(jié)束后,要求學(xué)生完成課程設(shè)計報告,課程設(shè)計報告需包括目錄、設(shè)計目標(biāo)、實現(xiàn)思路、實現(xiàn)步驟、總結(jié)、參考文獻、附錄等;5最后需上交課程設(shè)計報告紙質(zhì)版和電子版及設(shè)計的軟件作品源程序、數(shù)據(jù)庫和相關(guān)文檔,并進行軟件設(shè)計作品的
4、演示和答辯。三、課程設(shè)計評分標(biāo)準(zhǔn)1學(xué)習(xí)態(tài)度:10分;2系統(tǒng)設(shè)計:20分;3編程調(diào)試:25分;4回答問題:15分;5論文撰寫:30分。四、課程設(shè)計題目 基于C/S架構(gòu)的聊天工具的設(shè)計與實現(xiàn)1.課程設(shè)計題目基本要求:(1)熟悉JAVA開發(fā)環(huán)境,掌握J(rèn)AVA程序的編譯和運行;(2)掌握J(rèn)AVA面向?qū)ο缶幊碳夹g(shù)和方法;(3)掌握GUI圖形界面編程及事件處理機制;(4)了解異常處理機制(5)掌握J(rèn)ava數(shù)據(jù)庫編程方法和數(shù)據(jù)庫基本知識(6)掌握J(rèn)ava網(wǎng)絡(luò)編程方法和多線程編程方法 2.課程設(shè)計內(nèi)容要求:要求編程實現(xiàn)一個類似QQ的網(wǎng)絡(luò)聊天工具軟件,該聊天工具可以同時跟多人聊天,聊天記錄保存在數(shù)據(jù)庫中,具有用
5、戶登錄、注冊,查看聊天記錄,離線留言,清除聊天記錄,查看在線用戶,查找用戶,添加好友等功能。目錄設(shè)計報告應(yīng)包括整個設(shè)計中所采用的具體流程和步驟,以及任務(wù)完成的具體情況和取得的收獲。主要內(nèi)容為:需求分析:分析闡述設(shè)計的要求以及對應(yīng)到你要實現(xiàn)的系統(tǒng)應(yīng)具有什么樣的功能??傮w設(shè)計:進一步提出自己解決問題的思路和方案。讓讀者了解方案的總體設(shè)計和關(guān)鍵技術(shù)。具體包括:總的設(shè)計思路,體系結(jié)構(gòu), 總體架構(gòu), 功能模塊圖;各功能模塊所要達到的設(shè)計目標(biāo)的簡單介紹;設(shè)計的數(shù)據(jù)字典(數(shù)據(jù)庫、表的結(jié)構(gòu));軟硬件環(huán)境和開發(fā)技術(shù)和平臺等。詳細(xì)設(shè)計:對整個開發(fā)工作的內(nèi)容進行詳細(xì)的介紹。一般按照功能模塊分成幾部分來介紹。每部分應(yīng)
6、包括文字?jǐn)⑹?、界面圖片、關(guān)鍵實現(xiàn)技術(shù)(操作或代碼)等幾個方面綜合說明問題。系統(tǒng)調(diào)試與測試:介紹設(shè)計過程中遇到的問題和解決方法。如何測試系統(tǒng),測試中發(fā)現(xiàn)的問題和解決方案。總結(jié):對整個設(shè)計中做的工作、獲得的成果、心得體會等做一個簡單小結(jié)。 基于C/S架構(gòu)的聊天工具的設(shè)計與實現(xiàn)需求分析:在當(dāng)今信息時代,越來越多的聊天工具被應(yīng)用,java語言是當(dāng)今流行的網(wǎng)絡(luò)編程語言,它具有面向?qū)ο螅c平臺無關(guān),安全,多線程等特點。使用java語言不僅可以實現(xiàn)大型企業(yè)級的分布式應(yīng)用系統(tǒng),還能夠為小型的的,嵌入式設(shè)備進行應(yīng)用程序的開發(fā)。面向?qū)ο蟮拈_發(fā)是當(dāng)今世界最流行的開發(fā)方法,它不僅具有更貼近自然地語義,而且有利于軟件的
7、維護和繼承,鍛煉我們熟練地應(yīng)用面向?qū)ο蟮乃枷牒驮O(shè)計方法解決實際問題的能力。本程序正是用java語言實現(xiàn)了簡單聊天功能。它是圖形界面,線程,流與文件系統(tǒng)等技術(shù)的綜合應(yīng)用。其界面主要采用了java.awt包,java.swing包等??傮w設(shè)計:本軟件實現(xiàn)的功能有1.允許服務(wù)器偵聽客戶端,客戶端連接到服務(wù)器2.允許服務(wù)區(qū)與客戶端之間進行聊天; 3.服務(wù)器與客戶端時,會顯示內(nèi)容發(fā)送時間;4.允許服務(wù)器與客戶端用鼠標(biāo)點擊“發(fā)送”可發(fā)送內(nèi)容5.允許服務(wù)器與客戶端用鼠標(biāo)點擊關(guān)閉時關(guān)閉聊天窗口服務(wù)器和客戶端登陸以及客戶端群聊界面利用java語言的AWT和Swing實現(xiàn),聊天功能利用java語言網(wǎng)絡(luò)編程的多線程
8、和網(wǎng)絡(luò)編程的知識實現(xiàn)。詳細(xì)設(shè)計:本系統(tǒng)中我們利用Java實現(xiàn)基于C/S模式的聊天室系統(tǒng),分為服務(wù)器端和客戶端兩部分,運用Socket套接字實現(xiàn)客戶方和服務(wù)方的鏈接,服務(wù)器端通過端口設(shè)置在特定端口上進行監(jiān)聽,等待客戶端的連接,一旦客戶端連接成功,則可以向連接成功的用戶發(fā)送系統(tǒng)消息,可以接收所有客戶端發(fā)送的消息并顯示;客戶端則與服務(wù)器端規(guī)定的端口進行連接,連接成功后可以登錄,登錄成功后便可以和所選的對象聊天,可以發(fā)送信息,也可以接收聊天對象所發(fā)送過來的信息,并顯示信息內(nèi)容。程序中引入的包:import java.awt.*;import java.awt.event.*;import javax.
9、swing.*;import .*;import java.io.*;源代碼package xjm;import java.awt.BorderLayout;import java.awt.FlowLayout; import javax.swing.JButton;import javax.swing.JDialog;import javax.swing.JPanel;import javax.swing.border.EmptyBorder;import javax.swing.JTextArea;import javax.swing.JScrollPane;import java.awt
10、.Color;import javax.swing.border.BevelBorder;import javax.swing.border.CompoundBorder;import javax.swing.border.EtchedBorder;import javax.swing.border.SoftBevelBorder;import javax.swing.border.TitledBorder;import javax.swing.ScrollPaneConstants;import java.awt.event.ActionListener;import java.awt.ev
11、ent.ActionEvent;import java.io.BufferedReader;import java.io.IOException;import java.io.PrintWriter;import .ServerSocket;import .Socket;import java.util.ArrayList; public class ChatServer extends JDialog private final JPanel contentPanel = new JPanel();/以下創(chuàng)建網(wǎng)絡(luò)相關(guān)變量 int serverPort=2345;ServerSocket se
12、rverSocket=null;/Socket socket=null;BufferedReader socketIn;PrintWriter socketOut; boolean isstarting=false;JButton okButton=null;JTextArea textArea_info;ArrayList clientList=new ArrayList();/* * Launch the application. */public static void main(String args) try ChatServer dialog = new ChatServer();
13、dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);dialog.setVisible(true); catch (Exception e) e.printStackTrace();/* * Create the dialog. */public ChatServer() setTitle(u804Au5929u670Du52A1u5668);setBounds(100, 100, 641, 365);getContentPane().setLayout(new BorderLayout();contentPanel.setBor
14、der(new BevelBorder(BevelBorder.LOWERED, null, null, null, null);getContentPane().add(contentPanel, BorderLayout.CENTER);contentPanel.setLayout(null);JScrollPane scrollPane = new JScrollPane();scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);scrollPane.setHorizont
15、alScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);scrollPane.setBounds(10, 10, 613, 278);contentPanel.add(scrollPane);textArea_info = new JTextArea();scrollPane.setViewportView(textArea_info);textArea_info.setBackground(new Color(224, 255, 255);textArea_info.setText(u670Du52A1u5668u
16、901Au8BAFu8BB0u5F55);textArea_info.setForeground(Color.BLUE);JPanel buttonPane = new JPanel();buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT);getContentPane().add(buttonPane, BorderLayout.SOUTH);okButton = new JButton(u542Fu52A8);/啟動okButton.addActionListener(new ActionListener() public void a
17、ctionPerformed(ActionEvent arg0) if (serverSocket=null) try serverSocket=new ServerSocket(serverPort);isstarting=true;okButton.setEnabled(false);new Thread(new Runnable() Overridepublic void run() int i=1;/ TODO 自動生成的方法存根while(isstarting)try Socket socket;socket = serverSocket.accept();SocketThread
18、socketThread=new SocketThread(socket);socketThread.setTextArea_handle(textArea_info);socketThread.setClientList(clientList);socketThread.start();/System.out.println(i+); catch (IOException e) / TODO 自動生成的 catch 塊e.printStackTrace();isstarting=false;okButton.setEnabled(true);).start(); catch (IOExcep
19、tion e) / TODO 自動生成的 catch 塊e.printStackTrace();try if (serverSocket!=null) serverSocket.close(); catch (IOException e1) / TODO 自動生成的 catch 塊/e1.printStackTrace(););JButton clearButton = new JButton(u6E05u8BB0u5F55);clearButton.addActionListener(new ActionListener() public void actionPerformed(Actio
20、nEvent e) textArea_info.setText(););buttonPane.add(clearButton);okButton.setActionCommand(OK);buttonPane.add(okButton);getRootPane().setDefaultButton(okButton);JButton cancelButton = new JButton(u9000u51FA);cancelButton.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e
21、) try if (serverSocket!=null) serverSocket.close(); catch (IOException e1) / TODO 自動生成的 catch 塊/e1.printStackTrace();System.exit(0););cancelButton.setActionCommand(Cancel);buttonPane.add(cancelButton); 系統(tǒng)調(diào)試與測試:總結(jié):1通過本次課程設(shè)計,使得自己懂得理論和實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正掌握這門技術(shù),也提高了自己獨立思考的能力,在設(shè)計的過程中,可以自己解決。真正體會到要將一門知識
22、學(xué)的更深入,必須加強實踐,多練習(xí),才能發(fā)現(xiàn)問題所在。2.本程序?qū)崿F(xiàn)的功能還比較簡單不夠完善,從中,我知道了自己的不足之處,決心增長自己的知識,設(shè)計更加好的程序,實現(xiàn)各種更加復(fù)雜的功能,如:傳輸文件,圖片。以及登陸界面,昵稱等。3總的來說,這次實訓(xùn)對我很有幫助。讓我學(xué)會了的不只是設(shè)計JAVA聊天器,更讓我學(xué)會主動學(xué)習(xí),而不是被動接收。這樣才能更好的運用自己所學(xué)到的知識。參考文獻1 袁紹欣等編著. Java面向?qū)ο蟪绦蛟O(shè)計(第二版).北京:清華大學(xué)出版社,2012.6附 錄程序主要源代碼:package xjm;import java.awt.BorderLayout;import java.aw
23、t.FlowLayout; import javax.swing.JButton;import javax.swing.JDialog;import javax.swing.JPanel;import javax.swing.border.EmptyBorder;import javax.swing.JTextArea;import javax.swing.JScrollPane;import java.awt.Color;import javax.swing.border.BevelBorder;import javax.swing.border.CompoundBorder;import
24、javax.swing.border.EtchedBorder;import javax.swing.border.SoftBevelBorder;import javax.swing.border.TitledBorder;import javax.swing.ScrollPaneConstants;import java.awt.event.ActionListener;import java.awt.event.ActionEvent;import java.io.BufferedReader;import java.io.IOException;import java.io.Print
25、Writer;import .ServerSocket;import .Socket;import java.util.ArrayList; public class ChatServer extends JDialog private final JPanel contentPanel = new JPanel();/以下創(chuàng)建網(wǎng)絡(luò)相關(guān)變量 int serverPort=2345;ServerSocket serverSocket=null;/Socket socket=null;BufferedReader socketIn;PrintWriter socketOut; boolean is
26、starting=false;JButton okButton=null;JTextArea textArea_info;ArrayList clientList=new ArrayList();/* * Launch the application. */public static void main(String args) try ChatServer dialog = new ChatServer();dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);dialog.setVisible(true); catch (Exc
27、eption e) e.printStackTrace();/* * Create the dialog. */public ChatServer() setTitle(u804Au5929u670Du52A1u5668);setBounds(100, 100, 641, 365);getContentPane().setLayout(new BorderLayout();contentPanel.setBorder(new BevelBorder(BevelBorder.LOWERED, null, null, null, null);getContentPane().add(content
28、Panel, BorderLayout.CENTER);contentPanel.setLayout(null);JScrollPane scrollPane = new JScrollPane();scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);scrollPane.setBounds(10, 1
29、0, 613, 278);contentPanel.add(scrollPane);textArea_info = new JTextArea();scrollPane.setViewportView(textArea_info);textArea_info.setBackground(new Color(224, 255, 255);textArea_info.setText(u670Du52A1u5668u901Au8BAFu8BB0u5F55);textArea_info.setForeground(Color.BLUE);JPanel buttonPane = new JPanel()
30、;buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT);getContentPane().add(buttonPane, BorderLayout.SOUTH);okButton = new JButton(u542Fu52A8);/啟動okButton.addActionListener(new ActionListener() public void actionPerformed(ActionEvent arg0) if (serverSocket=null)try serverSocket=new ServerSocket(serv
31、erPort);isstarting=true;okButton.setEnabled(false);new Thread(new Runnable() Overridepublic void run() int i=1;/ TODO 自動生成的方法存根while(isstarting)try Socket socket;socket = serverSocket.accept();SocketThread socketThread=new SocketThread(socket);socketThread.setTextArea_handle(textArea_info);socketThr
32、ead.setClientList(clientList);socketThread.start();/System.out.println(i+); catch (IOException e) / TODO 自動生成的 catch 塊e.printStackTrace();isstarting=false;okButton.setEnabled(true);).start(); catch (IOException e) / TODO 自動生成的 catch 塊e.printStackTrace();try if (serverSocket!=null) serverSocket.close
33、(); catch (IOException e1) / TODO 自動生成的 catch 塊/e1.printStackTrace(););JButton clearButton = new JButton(u6E05u8BB0u5F55);clearButton.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) textArea_info.setText(););buttonPane.add(clearButton);okButton.setActionCommand(OK);
34、buttonPane.add(okButton);getRootPane().setDefaultButton(okButton);JButton cancelButton = new JButton(u9000u51FA);cancelButton.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) try if (serverSocket!=null) serverSocket.close(); catch (IOException e1) / TODO 自動生成的 catch
35、塊/e1.printStackTrace();System.exit(0););cancelButton.setActionCommand(Cancel);buttonPane.add(cancelButton);package xjm;import java.awt.BorderLayout;import java.awt.FlowLayout;import javax.swing.JButton;import javax.swing.JDialog;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.s
36、wing.JPasswordField;import javax.swing.border.EmptyBorder;import javax.swing.JLabel;import javax.swing.JTextField;import java.awt.Color;import javax.swing.SwingConstants;import java.awt.event.ActionListener;import java.awt.event.ActionEvent;public class LoginDialog extends JDialog private LoginDialo
37、g loginDialog=this;private final JPanel contentPanel = new JPanel();private JTextField textField_username;private JPasswordField textField_password;private JTextField textField_serverIP;/* * Launch the application. */public static void main(String args) try LoginDialog dialog = new LoginDialog();dia
38、log.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);dialog.setVisible(true); catch (Exception e) e.printStackTrace();/* * Create the dialog. */public LoginDialog() setForeground(Color.CYAN);setTitle(u7528u6237u767Bu5F55u7A97u53E3);setBounds(100, 100, 325, 215);getContentPane().setLayout(new Borde
39、rLayout();contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5);getContentPane().add(contentPanel, BorderLayout.CENTER);contentPanel.setLayout(null);JLabel label = new JLabel(u7528u6237u540Du79F0uFF1A);label.setHorizontalAlignment(SwingConstants.RIGHT);label.setForeground(Color.BLUE);label.setBounds(41
40、, 59, 89, 15);contentPanel.add(label);JLabel label_1 = new JLabel(u767Bu5F55u5BC6u7801uFF1A);label_1.setHorizontalAlignment(SwingConstants.RIGHT);label_1.setForeground(Color.BLUE);label_1.setBounds(41, 94, 89, 15);contentPanel.add(label_1);textField_username = new JTextField();textField_username.set
41、ToolTipText(u7528u6237u540Du79F0u533Au5206u5927u5C0Fu5199uFF01);textField_username.setBounds(140, 56, 120, 21);contentPanel.add(textField_username);textField_username.setColumns(10);textField_password = new JPasswordField();textField_password.setToolTipText(u8BF7u8F93u5165u767Bu5F55u5BC6u7801uFF01);
42、textField_password.setBounds(140, 91, 120, 21);contentPanel.add(textField_password);textField_password.setColumns(10);JLabel lblip = new JLabel(u670Du52A1u5668IPuFF1A);lblip.setHorizontalAlignment(SwingConstants.RIGHT);lblip.setForeground(Color.BLUE);lblip.setBounds(41, 21, 89, 15);contentPanel.add(lblip);textField_serverIP = new JTe
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2031年中國可更換鏡頭相機行業(yè)投資前景及策略咨詢研究報告
- 2025至2030年中國針孔式檢測器數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國油辣數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國微型灌概產(chǎn)品主管數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國光電無線鼠標(biāo)塑膠外殼數(shù)據(jù)監(jiān)測研究報告
- 2025年中國腐植酸液肥市場調(diào)查研究報告
- 固體飲料的電商渠道合作模式考核試卷
- 2025-2030年歷史戰(zhàn)爭場景重現(xiàn)纜車行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報告
- 2025-2030年可穿戴血壓監(jiān)測與調(diào)節(jié)器企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 內(nèi)陸?zhàn)B殖環(huán)境風(fēng)險評估與管理考核試卷
- GB/T 8014.1-2005鋁及鋁合金陽極氧化氧化膜厚度的測量方法第1部分:測量原則
- 股票基礎(chǔ)知識(入市必讀)-PPT
- eNSP簡介及操作課件
- 公文與公文寫作課件
- 運動技能學(xué)習(xí)與控制課件第七章運動技能的協(xié)調(diào)控制
- 節(jié)后復(fù)工吊籃驗收表格
- 基于振動信號的齒輪故障診斷方法研究
- 醫(yī)療器械分類目錄2002版
- DB11_T1713-2020 城市綜合管廊工程資料管理規(guī)程
- 氣管套管滑脫急救知識分享
- 壓縮空氣系統(tǒng)管道阻力計算
評論
0/150
提交評論