版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
911»e■»»m
Java语言程序设并Java语言程序设讦
基础篇进阶篇
JAVA
<in”・
/
/厂网
[编程练习题答案]Java语言程序设计(基础篇K选阶篇)第13、14、
15、24、25、26、28、29、30、31章部分习题答案,奇教题和部分
双教题是我自己做的,在此和大彖分享「_人〜
上Chapter13Exercise13.2/13.8/13.11
importjavax.swing.*;
importjava.awt.*;
publicclassExercis㊀132extendsJFrame{
//Createtwobuttons
privateOvalButtonjbtOk=newOvalButton(n0Kn);
privateOvalButtonjbtCancel=newOvalButton("Cancel**);
/**Defaultconstructor*/
publicExercisel3_2(){
//Setthewindowtitle
setTitle(nExercisel3_2");
//SetFlowLayoutmanagertoarrangethecomponents
//insidetheframe
getContentPane().setLayout(newFlowLayout());
//Addbuttonstotheframe
getContentPane().add(jbtOk);
getContentPane().add(jbtCancel);
)
/**Mainmethod*/
publicstaticvoidmain(String[]args){
Exercisel3_2frame=newExercisel3_2();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
)
classOvalButtonextendsJButton{
publicOvalButton(){
)
publicOvalButton(Stringtext){
super(text);
)
protectedvoidpaintComponent(Graphicsg){
//Drawanoval
super.paintcomponent(g);
g.drawOval(5,5,getWidth()-10,getHeight()-10);
)
/**Overridegetmethodforpreferredsize★/
publicDimensiongetPreferredSize(){
returnnewDimension(100f50);
)
/**Overridegetmethodforminimumsize*/
publicDimensiongetMinimumSize(){
returnnewDimension(100,50);
importjava.awt.*;
importjavax.swing.*;
publicclassExercisei38extendsJFrame{
publicstaticvoidmain(String[]args){
JFrameframe=newExercisel3_8();
frame.setSize(300z300);
frame.setTitle(nExercisel3_8");
frame.setDefaultCloseoperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
)
publicExercisel3_8(){
getContentPane().add(newOctagonPanel());
)
}
classOctagonPanelextendsJPanel{
protectedvoidpaintComponent(Graphicsg){
super.paintComponent(g);
intxCenter=getWidth()/2;
intyCenter=getHeight()/2;
intradius=
(int)(Math.min(getWidth(),getHeight())*0.4);
//CreateaPolygonobject
Polygonpolygon=newPolygon();
//Addpointstothepolygon
polygon.addPoint(xCenter+radius,yCenter);
polygon.addPoint((int)(xCenter+radius*Math.cos(2*Math.PI/8)),
(int)(yCenter-radius*Math.sin(2*Math.PI/8)));
polygon.addPoint((int)(xCenter+radius*Math.cos(22*Math.PH/
8)),
(int)(yCenter-radius*Math.sin(2*2*Math.PI/8)));
polygon.addPoint((int)(xCenter+radius*Math.cos(3*2*Math.PI
/8)),
(int)(yCenter-radius*Math.sin(3*2*Math.PI/8)));
polygon.addPoint((int)(xCenter+radius*Math.cos(4*2*Math.PI
/8)),
(int)(yCenter-radius*Math.sin(4*2*Math.PI/8)));
polygon.addPoint((int)(xCenter+radius*Math.cos(5*2*Math.PI
/8)),
(int)(yCenter-radius*Math.sin(5*2*Math.PI/8)));
polygon.addPoint((int)(xCenter+radius*Math.cos(6*2*Math.PT
/8)),
(int)(yCenter-radius*Math.sin(6*2*Math.PI/8)));
polygon.addPoint((int)(xCenter+radius*Math.cos(7*2*Math.PT
/8)),
(int)(yCenter-radius*Math.sin(7*2*Math.PI/8)));
//Drawthepolygon
g.drawPolygon(polygon);
)
importjavax.swing.*;
importjava.awt.*;
publicclassExercisei3」1extendsJFrame{
publicExercisel3_ll(){
add(newSquareFunction());
)
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//TODO自动生成方法存根
Exercisel3_l1frame=newExercisel3_ll();
frame.setTitle(MExercisel3.11n);
frame.setSize(300,200);
frame.setLocationRelativeTo(null);
frame.setDefauItCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
classSquareFunctionextendsJPanel{
publicSquareFunction(){
protectedvoidpaintComponent(Graphicsg){
super.paintComponent(g);
g.drawLine(10,this.getHeight()-20,this.getWidth()-10,
this.getHeight()-20);
g.drawLine(this.getWidth()-30,this.getHeight()-15,
this.getWidth()-10zthis.getHeight()-20);
g,drawLine(this.getWidth()-30,this.getHeight()-25,
this.getWidth()TO,this.getHeight()-20);
nn
g.drawstring(Xzthis.getWidth()-10,this.getHeight()-30);
g.drawLine(this.getWidth()/2,20,this.getWidth{)/2,
this.getHeight()-5);
g.drawLine(this.getWidth()/2Z20,this.getWidth()/2-5z35);
g.drawLine(this.getWidth()/2r20,this.getWidth()/2+5,35);
nn
g.drawstring(Yzthis.getWidth()/2+10,30);
Polygonp=newPolygon();
doublescaleFactor=0.01;
for(intx=-100;x<=100;x++){
p.addPoint(x+this.getWidth()/2,
this.getHeight()-20-(int)(scaleFactor*x*x));
)
g.drawPolyline(p.xpoints,p.ypoints,p.npoints);
)
}
packagechapterl4;
importjavax.swing.*;
importjava.awt.event.*;
importjava.awt.*;
publicclassExercisel44extendsJFrame{
publicExercisel4_4(){
MousePositionp=newMousePosition();
add(p);
}
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//TODO自动生成方法存根
Exercisel4_4frame=newExercisel4_4();
frame.setTitle("Exercise14.4n);
frame.setSize(300,200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
)
staticclassMousePositionextendsJPanel{
privateStringposition=
privateintx;
privateinty;
publicMousePosition(){
addMouseListener(newMouseAdapter(){
publicvoidmousePressed(MouseEvente){
x=e.getX();
y=e.getY();
position=+x++y+
repaint();
)
publicvoidmouseReleased(MouseEvente){
x=e.getX();
y=e.getY();
position=n*';
repaint();
}
publicvoidmouseClicked(MouseEvente){
x=e.getX();
y=e.getY();
position=+x++y+
repaint();
)
});
)
protectedvoidpaintComponent(Graphicsg){
super.paintComponent(g);
g.drawstring(position,x,y);
importjavax.swing.*;
importjava.awt.*;
importjava.awt.event.*;
pub」icclassExercisel48extendsJFrame{
privateCharacterPanelcharacterPansel=newCharacterPanel();
publicExercisel4_8(){
add(characterPansel);
characterPansel.setFocusable(true);
*@paramargs
*/
publicstaticvoidmain(String[]args){
//TODO自动生成方法存根
JFrameframe=newExercisel4_8();
frame.setTitle(”Exercise14.8n);
frame.setsize(300z200);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_<J_CLOSE);
frame.setVisible(true);
staticclassCharacterPanelextendsJPanel{
privateintx=5;
privateinty=10;
privatecharcharacter;
publicCharacterPanel(){
addKeyListener(newKeyAdapter(){
publicvoidkeyTyped(KeyEvente){
character=e.getKeyChar();
repaint();
}
));
addMouseListener(newMouseAdapter(){
publicvoidmouseClicked(MouseEvente)
x=e.getX();
y=e.getY();
repaint();
)
});
}
protectedvoidpaintComponent(Graphicsg){
super.paintComponent(g);
//g.setFont(newFont("TimesRoman**zFont.PLAIN,24));
g.drawstring(nn+character,x,y);
importjavax.swing.*;
importjava.awt.*;
importjava.awt.event.*;
publicclassExercisel49extendsJFrame{
privateDrawLinesPaneldrawLinesPanel=newDrawLinesPanel();
publicExercisel4_9(){
add(drawLinesPanel);
drawLinesPanel.setFocusable(true);
)
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//TODO自动生成方法存根
Exercisel4_9frame=newExercisel4_9();
frame.setTitle(**Exercisel4.9**);
frame.setSize(300,200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
)
staticclassDrawLinesPanelextendsJPanel{
privateintx,y;
privatePolygonpolygon=newPolygon();
publicDrawLinesPanel(){
polygon.addPoint(x,y);
addKeyListener(newKeyAdapter(){
publicvoidkeyPressed(KeyEvente){
switch(e.getKeyCode()){
caseKeyEvent.VK_UP:
y_=10;
polygon.addPoint(x,y);
break;
caseKeyEvent.VK_DOWN:
y+=10;
polygon.addPoint(xzy);
break;
caseKeyEvent.VK_LEFT:
x-=10;
polygon.addPoint(xzy);
break;
caseKeyEvent.VK_RIGHT:
x+=10;
polygon.addPoint(xzy);
break;
)
repaint();
)
});
}
protectedvoidpaintComponent(Graphicsg){
super.paintComponent(g);
Polygonp=newPolygon();
intxCenter=getWidth()/2;
intyCenter=getHeight()/2;
for(inti=0;i<polygon.npoints;i++){
p.addPoint(polygon.xpoints[i]+
xCenter,polygon.ypoints[i]+yCenter);
g.drawPolyline(p.xpoints,p.ypoints,p.npoints);
)
}
}
+Chapter15Exercise15.4/15.6/15.7
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
publicclassExercise!54extendsJFrame{
protectedJButtonjbtAdd,jbtSubtract,jbtMultiply,jbtDivide;
protectedJTextFieldjtfNuml,jtfNum2,jtfResult;
protecteddoublexzy,result;
publicExercisel5_4(){
setLayout(newBorderLayout());
JPaneljpIO=newJPanel();
jpIO.setLayout(newFlowLayout());
add(jpIOfBorderLayout.CENTER);
jpIO.add(newJLabel("Number1n));
jpIO.add(jtfNuml=newJTextField(4));
jpIO.add(newJLabel("Number2n));
jpIO.add(jtfNum2=newJTextField(4));
jpIO.add(newJLabel(nResultn));
jpIO.add(jtfResult=newJTextField(8));
jtfNuml.setHorizontalAlignment(JTextField.RIGHT);
jtfNum2.setHorizontalAlignment(JTextField.RIGHT);
,setHorizontalAlignment(JTextField.RIGHT)
jtfResult.setEditable(false);
JPaneljpButtons=newJPanel();
jpButtons.setLayout(newFlowLayout());
add(jpButtons,BorderLayout.SOUTH);
jpButtons.add(jbtAdd=newJButton("Add”));
jpButtons.add(jbtSubtract=newJButton(''Subtractn;
jpButtons.add(jbtMultiply=newJButton(*'Multiply**));
jpButtons.add(jbtDivide=newJButton("Divide”));
ButtonGroupgroup=newButtonGroup();
group.add(jbtAdd);
group.add(jbtSubtract);
group.add(jbtMultiply);
group.add(jbtDivide);
jbtAdd.setMnemonic(1Af);
jbtSubtract.setMnemonic('S1);
jbtMultiply.setMnemonic('M*);
jbtDivide.setMnemonic(*D*);
jbtAdd.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
x=Double.parseDouble(jtfNuml.getText());
y=Double.parseDouble(jtfNum2.getText());
result=add(xzy);
jtfResult.setText(n*'+(float)result);
}
});
jbtSubtract.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
x=Double.parseDouble(jtfNuml.getText());
y=Double.parseDouble(jtfNum2.getText());
result=subtract(x,y);
jtfResult.setText(n*'+(float)result);
)
});
jbtMultiply.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
x=Double,parseDouble(jtfNuml.getText());
y=Double.parseDouble(jtfNum2.getText());
result=multiply(xzy);
jtfResuIt.setText(*'n+(float)result);
}
});
jbtDivide.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
x=Double.parseDouble(jtfNuml.getText());
V=Double.parseDouble(jtfNum2.getText());
result=divide(x,y);
jtfResult.setText(*'*'+(float)result);
}
});
}
publicdoubleadd(doublex,doubley){
returnx+y;
)
publicdoublesubtract(doublex,doubley){
returnx-y;
)
publicdoublemultiply(doublex,doubley){
returnx*y;
)
publicdoubledivide(doublex,doubley){
returnx/y;
}
*@paramargs
publicstaticvoidmain(String[]args){
//TODO自动生成方法存根
Exercisel5_4frame=newExercisel5_4();
frame.pack();
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setTitle(nExercisel5.4n);
frame.setVisible(true);
}
}
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
publicclassExercisel56extendsJFrame{
privatedoublefutureValuezinvestmentAmountzannualInterestRater
years;
protectedJLabeljIbFutureValue,jIblnvestmentAmountr
jlbAnnualInterestRate,jlbYears;
protectedJTextFieldjtfFutureValue,jtfInvestmentAmount,
jtfAnnuaIInterestRate,jtfYears;
protectedJButtonjbtCalculate;
publicExercisel5_6(){
setLayout(newBorderLayout(10z5));
JPaneljpLabels=newJPanel();
JPaneljpTextFields=newJPanel();
JPaneljpButton=newJPanel();
add(jpLabels,BorderLayout.WEST);
add(jpTextFields,BorderLayout.CENTER);
add(jpButton,BorderLayout.SOUTH);
jpLabels.setLayout(newGridLayout(4,1));
jpTextFields.setLayout(newGridLayout(4,1));
jpButton•setLayout(newFlowLayout(FlowLayout.RIGHT));
jpLabels.add(jIblnvestmentAmount=newJLabel('investment
Amount"));
jpLabels.add(jlbYears=newJLabel(nYearsn));
jpLabels.add(jlbAnnualInterestRate=newJLabel("AnnualInterest
Rate**));
jpLabels.add(jlbFutureValue=newJLabel(nFutureValue"));
jpTextFields.add(jtfInvestmentAmount=newJTextField(10));
jpTextFields.add(jtfYears=newJTextField(10));
jpTextFields.add(jtfAnnuallnterestRate=newJTextField(10));
jpTextFields.add(jtfFutureValue=newJTextField(10));
jtfInvestmentAmount.setHorizontalAlignment(JTextField.RIGHT);
jtfYears.setHorizontalAlignment(JTextField.RIGHT);
jtfAnnualInterestRate.setHorizontalAlignment(JTextField.RIGHT);
jtfFutureValue.setHorizontalAlignment(JTextField.RIGHT);
jtfFutureValue.setEditable(false);
jpButton.add(jbtCalculate=newJButton("Calculate*1));
jbtCalculate.setMnemonic(*C*);
jbtCalculate.addActionListener(newActionListener()(
publicvoidactionPerformed(ActionEvente){
investmentAmount=
Double.parseDouble(jtfInvestmentAmount.getText());
annualInterestRate=
Double.parseDouble(jtfAnnuallnterestRate.getText());
years=Double.parseDouble(jtfYears.getText());
futurevalue=investmentAmount*(Math.pouz((1+
annualInterestRate/12/100),(years*12)));
jtfFutureValue.setText(nn+(double)(int)(futurevalue*
100)/100);
)
});
}
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//TODO自动生成方法存根
Exercisel5_6frame=newExercisel5_6();
frame.setTitle("Exercise15.6n);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
pub」icclassExercisel57extendsJFrame{
protectedStillClockstillClock=newStillClock();
privateJLabeljlbHour,jlbMinutezjlbSecond;
protectedJTextFieldjtfHour,jtfMinute,jtfSecond;
privateinthourzminute,second;
publicExercisel5_7(){
setLayout(newBorderLayout());
add(stillClock,BorderLayout.CENTER);
JPaneljp=newJPanel();
add(jp,BorderLayout.SOUTH);
jp.setLayout(newFlowLayout());
jp.add(jlbHour=newJLabel("Hour"));
jp.add(jtfHour=newJTextField(2));
jp.add(jlbMinute=newJLabel("Minute*'))
jp.add(jtfMinute=newJTextField(2));
jp.add(jlbSecond=newJLabel(nSecondn))
jp.add(jtfSecond=newJTextField(2));
jtfHour.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
hour=Integer.parselnt(jtfHour.getText());
stillClock.setHour(hour);
}
});
jtfMinute.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
minute=Integer.parselnt(jtfMinute.getText());
stillClock.setMinute(minute);
}
});
jtfSecond.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
second=Integer.parselnt(jtfSecond.getText());
stillClock.setSecond(second);
)
});
)
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//TODO自动生成方法存根
Exercisel5_7frame=newExercisel5_7();
frame.setTitle(nExercisel5.7n);
frame.setSize(300,220);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
+Chapter24Exercise24.12
importjava.awt.*;
importjava.awt.event.*
importjavax.swing.*;
pub」icclassExercise2412extendsJAppletimplementsRunnable{
boolean!sStandalone=false;
JProgressBarjProgressBarl=newJProgressBar();
FlowLayoutflowLayout1=newFlowLayout();
Threadthread;
/**Constructtheapplet*/
publicExercise24_12(){
)
/**Initializetheapplet*/
publicvoidinit(){
try(
jblnit();
}
catch(Exceptione){
e.printStackTrace();
)
)
//Componentinitialization
privatevoidjblnit()throwsException{
this.setsize(newDimension(400,300));
this.getContentPane().setLayout(flowLayout1);
this.getContentPane().add(jProgressBar1,null);
thread=newThread(this);
thread.start();
)
publicvoidrun(){
while(true){
try(
Thread.sleep(500);
}
catch(InterruptedExceptionex){}
jProgressBarl.setvalue((int)(jProgressBarl.getMaximum()*
Math.random()));
}
)
/★★Mainmethod*/
publicstaticvoidmain(String[]args){
Exercise24_12applet=newExercise24_12();
applet.isStandalone=true;
JFrameframe=newJFrame();
frame.setTitle(nExercise24_12n);
frame.getContentPane().add(applet,BorderLayout.CENTER);
applet.init();
applet.start();
frame.pack();
Dimensiond=Toolkit.getDefaultToolkit().getScreenSize();
frame.setLocation((d.width-frame.getSize().width)/2,(d.height
-frame.getSize().height)/2);
frame•setVisible(true);
)
//staticinitializerforsettinglook.&feel
static{
try(
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
//UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClass
Name());
)
catch(Exceptione){}
}
)
+Chapter25Exercise25.1/25.10
Exercise25.13S^§S
Exerdse25_1ServerstatedatSatDec1810:34:23CST2010
i_Exe「cise25_l客户流IOI回r5n
Startingthreadfordient1atSatDec1810:34:51CST2010
ClientTshostnameis127.0.01AnnuallnterestRate2.3
ClientTsIPadressisNumberOfYears2提交
AnnualInterestRate2.3NumberOfYears3.0LoanAmount10000.0
MonthlyPayment287.7373239917401LoanAmount10000
TotalPayment10358.543663702643AnnualInterestRate3.3NumberOfYears2.0
-LoanAmount10000.0
Startingthreadfordient2atSatDec1810:35:00CST2010IMonthlyPayment431.14035258423127
Client2'shostnameis
ClientZsIPadressisTotalPayment10347.36846202155
AnnualInterestRate2.3NumberOfYears2.0LoanAmount10000.0
MonthlyPayment426.72257743934637
importjava.io.*;
import.*;
importjava.util.*;
importjava.awt.*;
importjavax.swing.*;
pub」icclassExercise25lServerextendsJFrame{
privateJTextAreajta=newJTextArea();
/*
privateObjectOutputStreamtoClient;
privateObjectInputStreamfromClient;
*/
publicExercise25_lServer(){
setLayout(newBorderLayout());
add(newJScrollPane(jta)rBorderLayout.CENTER);
jta.setEditable(false);
jta.setLineWrap(true);
jta.setWrapStyleWord(true);
setTitle(nExercise25.1月艮务器”);
setSize(420,300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
try{
ServerSocketserversocket=newServerSocket(8000);
jta.append(nExercise25_lServerstatedat*'+newDate()+
〃\n”);
intclient=0;
while(true){
//监听连接,等待新的连接请求
Socketsocket=serversocket.accept();
client++;
jta.append(**\nStartingthreadforclient"+client+”at
"+newDate()+*'\nn);
//获取客户域名及工P地址
InetAddressinetAddress=socket.getInetAddress();
jta.append(nClient*'+client+**'shostnameis**+
inetAddress.getHostName()+n\nn);
jta.append(**Client*'+client+*'*sIPadressis*'+
inetAddress.getHostAddress()+*'\nn);
HandleAClienttask.=newHandleAClient(socket);
newThread(task).start();
}catch(lOExceptionex){
System.err.printIn(ex);
)
)
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
newExercise25_lServer();
}
/**内部类
*定义线程类来处理新的连接*/
classHandleAClientimplementsRunnable{
privateSocketsocket;
publicHandleAClient(Socketsocket){
this.socket=socket;
)
©Override
publicvoidrun(){
try(
ObjectInputStreaminputFromClient=new
ObjectInputStream
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2030年中国塑料网行业销售态势与盈利前景预测报告
- 2024-2030年中国地铁建设行业市场发展分析及竞争格局与投资发展研究报告
- 2024-2030年中国可降解生物聚合物行业市场发展趋势与前景展望战略分析报告
- 2024-2030年中国叔丁醇钾行业市场发展趋势与前景展望战略分析报告
- 2024-2030年中国反渗透膜产业发展态势与投资效益预测报告
- 2024-2030年中国单门磁锁行业竞争状况与营销前景预测报告
- 2024-2030年中国半导体光掩模行业前景动态及投资规划分析报告
- 2024-2030年中国医疗废物垃圾桶行业市场发展趋势与前景展望战略分析报告
- 2024-2030年中国医疗保健服务行业市场发展前瞻及投资战略研究报告
- 2024-2030年中国医用胶行业市场发展趋势与前景展望战略分析报告
- 2022-2023学年山东省枣庄市高一(下)期末质检数学试卷(含解析)
- 模块化建筑市场发展现状和未来五年前景分析
- GB/T 18101-2024难燃胶合板
- 人工智能训练师职业技能竞赛试题及答案(501-749单选题)
- 计算机前沿技术应用情况
- 2024年广州医科大学附属第五医院人才招考聘用计划高频考题难、易错点模拟试题(共500题)附带答案详解
- 《篮球裁判》课件
- 苓桂术甘颗粒-临床用药解读
- 慈铭体检医院建设项目环境影响评价报告书全本公示样本
- 2024高考山东卷化学命题趋势及二轮复习策略
- 电梯日管控、周排查、月调度内容表格
评论
0/150
提交评论