




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2015-2016学年第二学期操 作 系 统 课 程实 验 设 计 报 告班级 网络2班学号 201414620207姓名 韩金铖成绩指导教师 于复兴精选范本,供参考!1、实验题目:1)模拟请求分页存储管理中的硬件地址转换和产生却页中断的过程。2)采用先进先出(或LRU)算法实现分页管理的缺页调度。2、实验目的:1)通过实验模拟请求分页存储管理中的硬件地址转换和产生却页中断帮助理解在分页式存储管理中怎样虚拟存储器。2)通过采用先进先出(或LRU)算法实现分页管理的缺页调度帮助理解和掌握模拟分页式虚拟存储管理的缺页中断,帮助自己对请求分页管理的概念有一个清楚的理解。3、程序设计及实现过程:1)请求分页储存管理是把作业的全部信息存在磁盘上,当作业被选中时,可把作业的开始几页先装入主存并启动运行。为此,在为作业建立页表时,应说明哪些页已在主存,哪些页尚未装入主存,页表格式为:页号 标志 主存块号 外存地址其中,标志表示对应页是否已经装入主存, “标志=0”表示该页尚未装入主存, “标志1”表示该页已在主存。主存块号表示已装入主存的页所占用的块号。外存地址表示该页在外存的地址。2)作业执行完时,指令中的逻辑地址指出了参加运算的操作数存放的页号和单元号,硬件地址转换机构按页号查页表,若该页对应的标志为“1”,则表示该页已在主存。根据关系式:绝对地址=块号*块长+单元号。计算出欲访问的主存单元地址, 将块长设成 2的整次幂,可把块号作为地址寄存器的高位部分,单元号作为低位部分。 两个拼接形成绝对地址。 按计算出的绝对地址取操作数,完成一条指令的执行。若访问的页对应标志为“ 0”,则表示不在主存, 这时硬件发缺页中断信号,由操作系统按页表中的该页对应的外存地址把该页装入主存后,执行该指令。(3)设计一个“地址变换”程序来模拟硬件的地址转换工作。 当访问的页不在主存时,则形成绝对地址后不去模拟指令的执行, 而用输出转换后的地址来代替一条指令的执行, 当访问的页不在主存时,则输出“ *”,表示产生了一次缺页中断。该算法框图如下:精选范本,供参考!地址变换算法:假定主存的每块长度为 126个字节;现有一个共 7页的作业,其中第 0页至第3页已装入,其余三页尚未装入主存,该作业的页表为:页号标志主存块号外存地址015011118012219013311021400225002360121精选范本,供参考!运行设计的地址变换机构程序,显示或打印运行结果。因仅模拟地址变换,并不模拟指令的实际执行。4)在分页式虚拟存贮系统中,当硬件发出缺页中断后,转操作系统处理缺页中断。如果主存中已无空闲块,当采用先进先出算法时,则淘汰最先进入主存的一页,若该页修改过,还要存入磁盘,然后在把当前要访问的页装入该块,并修改页表中的对应标志。当采用LRU算法时,则淘汰最近没有访问的页。大概流程图如下:(5)有了具体的核心算法实现方法之后,就可以开发简单的界面,并且把以上综合到程序中,最后调试BUG,完成实验。4、实验结果及分析:1)对于题目一我制作了一个帮助界面(如图1),可以便于我记起实验的内容以及理解相应知识,有了已知内容,我输入逻辑地址(例如320),则程序输出为(如图2)。精选范本,供参考!图1“题目一帮助界面” 图2“题目一运行界面”(2)对于题目二我同样制作了一个帮助界面(如图3),可以便于我操作程序不出现格式错误,如果出错程序会弹出窗口报错(如图4)。当物理块数为3,页面使用列表为233223123233时,则采用先进先出算法时table表应如下:2332212122332333221223232333212******(‘*‘代表缺页中断)采用LRU算法时table表应如下:233223123233233223123232332231212*****(‘*‘代表缺页中断)则程序输出为(如图5、6)。图3“题目二帮助界面” 图4“题目二错误窗口”精选范本,供参考!图5“题目二 FIFO算法” 图6“题目二LRU算法”5、实验收获和体会:通过本次实验,使我对于虚拟存储管理的相关内容有了更深的认识, 同时提升了我的编程水平和思考问题的能力, 对于以后学习或者工作上的困难克服有很大的积极作用。 通过程序设计的训练,我进一步学习和掌握了对程序的设计和编写, 从中体会到了面向对象程序设计的方便和巧妙。 懂得了在进行编写一个程序之前, 要有明确的目标和整体的设计思想。 另外某些具体的细节内容也是相当的重要。 这些宝贵的编程思想和从中摸索到的经验都是在编程的过程中获得的宝贵财富。这些经验对我以后的编程会有很大的帮助的,我要好好利用。我很珍惜这次实验的机会,冰冻三尺非一日之寒,我相信以后会更加细心、更加勤奋。6、源程序:1、下面是 MenuFrame.Javapackagecom.hjc;import static com.hjc.Constant.*;import java.awt.Button;import java.awt.Color;import java.awt.Frame;import java.awt.Graphics;import java.awt.Image;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;精选范本,供参考!// 菜单界面public class MenuFrameextendsFrame implements ActionListener{/****/private static final long serialVersionUID =1L;private Image icon=Toolkit. getDefaultToolkit ().getImage("image//icon.png" ); // 图标private Image text =Toolkit. getDefaultToolkit ().getImage("image//text.png" ); // 文字private Button workOne= newButton( "进入题目一"); //Button1private Button workTwo= newButton( "进入题目二"); //Button2public MenuFrame(String title ){this .setTitle( title ); // 设置题目this .setLayout( null); // 设置布局this .setBounds(( PM_WIDTH-EXE_WIDTH)/2,(PM_HEIGHT-EXE_HEIGHT)/2, EXE_WIDTH,EXE_HEIGHT);// 应用的位置this .setIconImage( icon); // 设置图标this .setBackground(Color. YELLOW);// 设置背景workOne.setBounds(( EXE_WIDTH-200)/2,( EXE_HEIGHT-40)/2,200,40);workOne.addActionListener( this);this .add(workOne); // 添加Button1workTwo.setBounds(( EXE_WIDTH-200)/2,( EXE_HEIGHT-40)/2+80,200,40);workTwo.addActionListener( this);this .add(workTwo); // 添加Button2this .addWindowListener( newWindowAdapter(){public voidwindowClosing(WindowEvent e){super.windowClosing( e);System.exit(0);}}); // 添加窗口监听this .setResizable( false); // 设置不可改变大小this .setVisible( true); // 设置可视}精选范本,供参考!"制作:乐事@Happy",380,480);// 绘制的方法public voidpaint(Graphics g){Color c= g.getColor(); // 得到初始g颜色g.setColor(Color. BLUE); // 设置画笔为蓝色g.drawImage(text,( EXE_WIDTH-400)/2,40,400,150, this); // 绘制text图片g.drawString( "(实验四)",400,160); // 绘制文字g.drawString( "题目一 :模拟请求分页存储管理中的硬件地址转换和产生却页中断的过程 ",50,400); // 绘制文字g.drawString( "题目二 :采用先进先出(或 LRU)算法,实现分页管理的缺页调度",50,430); // 绘制文字g.setColor(Color. RED); // 设置画笔为红色g.drawRect(45,380,400,70); // 绘制矩形g.setColor(Color. CYAN);g.drawString(g.setColor( c); // 恢复画笔初始颜色}public static voidmain(String[] args){newMenuFrame("欢迎");}动作监听publicvoidactionPerformed(ActionEvente){if(e.getSource()==workOne){this.setVisible(false);newworkOneFrame(this);}elseif(e.getSource()==workTwo){this.setVisible(false);newworkTwoFrame(this);}}}2、下面是Constant.Javapackagecom.hjc;import java.awt.Toolkit;public class Constant{精选范本,供参考!publicstaticintEXE_WIDTH=500;//应用宽度publicstaticintEXE_HEIGHT=500;//应用高度publicstaticintPM_WIDTH=Toolkit.getDefaultToolkit().getScreenSize().width;//得到屏幕宽度publicstaticint=PM_HEIGHTToolkit.getDefaultToolkit().getScreenSize().height;//得到屏幕高度publicstaticintMAX=100;}3、下面是Page.Javapackagecom.hjc;public class Page{int pno;// 页号int flag;// 标志位int cno;// 主存号intaddr;//外存地址publicPage(intpno,intflag,intaddr){this.pno=pno;this.flag=flag;this.addr=addr;}publicPage(intpno,intflag,intcno,intaddr){this.pno=pno;this.flag=flag;o=cno;this.addr=addr;}}4、下面是helpOneFrame.Javapackagecom.hjc;importstaticcom.hjc.Constant.EXE_HEIGHT;importstaticcom.hjc.Constant.EXE_WIDTH;importstaticcom.hjc.Constant.PM_HEIGHT;importstaticcom.hjc.Constant.;PM_WIDTH精选范本,供参考!import java.awt.Color;import java.awt.Frame;import java.awt.Graphics;import java.awt.Image;import java.awt.Toolkit;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;public class helpOneFrame extends Frame{/****/private static final long serialVersionUID =1L;private workOneFrame wof;private Image icon=Toolkit. getDefaultToolkit ().getImage("image//icon.png" ); // 图标private Image back=Toolkit. getDefaultToolkit ().getImage("image//helponeback.png" ); // 背景public helpOneFrame(workOneFrame wof){this.wof=wof;this.setTitle("帮助");this.setLayout(null);//布局为nullthis.setBounds((PM_WIDTH-EXE_WIDTH)/2,(-)/2,,);//应PM_HEIGHTEXE_HEIGHTEXE_WIDTHEXE_HEIGHT用的位置this.setIconImage(icon);//设置应用图标this.addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){setVisible(false);wof.setVisible(true);}});this.setResizable(false);//大小不可变this.setVisible(true);//可视}public voidpaint(Graphics g){精选范本,供参考!Color c= g.getColor();g.drawImage(back,0,0,EXE_WIDTH,EXE_HEIGHT,this);g.setColor(c);}}5、下面是helpTwoFrame.Javapackagecom.hjc;importstaticcom.hjc.Constant.EXE_HEIGHT;importstaticcom.hjc.Constant.;EXE_WIDTHimportstaticcom.hjc.Constant.PM_HEIGHT;importstaticcom.hjc.Constant.;PM_WIDTHimport java.awt.Color;import java.awt.Frame;import java.awt.Graphics;import java.awt.Image;import java.awt.Toolkit;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;public class helpTwoFrame extends Frame{/****/private static final long serialVersionUID =1L;private workTwoFrame wtf;private Image icon=Toolkit. getDefaultToolkit ().getImage("image//icon.png" ); // 图标private Image back=Toolkit. getDefaultToolkit ().getImage("image//helptwoback.png" ); // 背景public helpTwoFrame(workTwoFrame wtf){this .wtf= wtf;this .setTitle( "帮助");this .setLayout( null); // 布局为nullthis .setBounds(( PM_WIDTH-EXE_WIDTH)/2,(PM_HEIGHT-EXE_HEIGHT)/2, EXE_WIDTH,EXE_HEIGHT);// 应用的位置精选范本,供参考!this.setIconImage(icon);//设置应用图标this.addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){setVisible(false);wtf.setVisible(true);}});this.setResizable(false);//大小不可变this.setVisible(true);//可视}publicvoidpaint(Graphicsg){Colorc=g.getColor();g.drawImage(back,0,0,EXE_WIDTH,EXE_HEIGHT,this);g.setColor(c);}}6、下面是workOneFrame.Javapackagecom.hjc;importstaticcom.hjc.Constant.EXE_HEIGHT;importstaticcom.hjc.Constant.EXE_WIDTH;importstaticcom.hjc.Constant.PM_HEIGHT;importstaticcom.hjc.Constant.;PM_WIDTHimportjava.awt.Button;importjava.awt.Color;importjava.awt.Font;importjava.awt.Frame;importjava.awt.Graphics;importjava.awt.Image;importjava.awt.TextArea;importjava.awt.TextField;importjava.awt.Toolkit;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.awt.event.KeyAdapter;importjava.awt.event.KeyEvent;importjava.awt.event.WindowAdapter;精选范本,供参考!import java.awt.event.WindowEvent;import javax.swing.JOptionPane;public class workOneFrameextends Frame implements ActionListener{/****/privatestaticfinallongserialVersionUID=1L;privateMenuFramemf;//大管家privateImageicon=Toolkit.getDefaultToolkit().getImage("image//icon.png");//图标privateImageback=Toolkit.getDefaultToolkit().getImage("image//back.png");//背景privateButtonstart=newButton("Run...");privateButtonbtHelp=newButton("帮助");privateTextFieldtf_Logical_Address=newTextField();privateTextAreata_Output=newTextArea();privatestaticintEach_Length=126;//主存的每块长度privatestaticintMax_Numbers=7;//作业页数public workOneFrame(MenuFramemf){this .mf= mf;this .setTitle( "地址转换和产生却页中断的过程 ");this .setLayout( null); // 布局为nullthis .setBounds(( PM_WIDTH-EXE_WIDTH)/2,(PM_HEIGHT-EXE_HEIGHT)/2, EXE_WIDTH,EXE_HEIGHT);// 应用的位置this .setIconImage( icon); // 设置应用图标tf_Logical_Addresstf_Logical_Addresstf_Logical_Address字
.setBounds(200,110,100,30);.setFont( newFont( "Courier" ,Font. PLAIN,25));.addKeyListener( newKeyAdapter() {// 只允许输入数public voidkeyTyped(KeyEvent e){int keyChar= e.getKeyChar();if (keyChar>=KeyEvent. VK_0&&keyChar<=KeyEvent. VK_9){} else{精选范本,供参考!e.consume(); // 关键,屏蔽掉非法输入}}});this .add(tf_Logical_Address );start .setBounds(320,160,100,30);start .addActionListener( this);this .add(start );btHelp.setBounds(320,200,100,30);btHelp.addActionListener( this);this .add(btHelp);ta_Output.setBounds((EXE_WIDTH-450)/2,250,450,200);ta_Output.setFont(newFont("Courier",Font.PLAIN,15));ta_Output.setEditable(false);this.add(ta_Output);this .addWindowListener( newWindowAdapter(){public voidwindowClosing(WindowEvent e){setVisible( false);mf.setVisible( true);}});this .setResizable( false); // 大小不可变this .setVisible( true); // 可视}public voidpaint(Graphics g){Color c= g.getColor();g.setColor(Color. BLACK);g.drawImage(back,0,0, EXE_WIDTH,EXE_HEIGHT,this);g.drawString( "指令的逻辑地址: ",100,130);g.setColor( c);}public voidchangeaddr(Page p[], int logaddr){ // 地址变换精选范本,供参考!intj=logaddr/;//对应的块号Each_Lengthintk=logaddr%Each_Length;//对应的偏移量intflag=0;//页面标志intaddr;//物理地址for(inti=0;i<;i++){Max_Numbers找到对应的页号if (p[i].pno== j){// 页面标志为1if (p[i].flag ==1){addr= p[i].cno* Each_Length+k;ta_Output.setText( ta_Output.getText() +"物理地址为:" +addr+"\n");ta_Output.setText( ta_Output.getText()+ "详细信息:\t 页面号:"+p[i].pno+"\t 主存号:" +p[i].cno+"\t 偏移量:"+ k+"\n");flag =1;break;}}}if (flag ==0){ta_Output.setText( ta_Output.getText() +"该页不在主存,产生缺页中断\n");}ta_Output.setText( ta_Output.getText()+ "\n\n" );}public voidRun(){int ins;// 指令逻辑地址Page[] p= newPage[8];p[0]= newPage(0,1,5,011);p[1]= newPage(1,1,8,012);p[2]= newPage(2,1,9,013);p[3]= newPage(3,1,1,021);p[4]= newPage(4,0,022);p[5]= newPage(5,0,023);p[6]= newPage(6,0,121);精选范本,供参考!ins=Integer. parseInt(tf_Logical_Address .getText());ta_Output.setText( ta_Output.getText() +"您输入指令的逻辑地址: "+ins+"\n\n" );changeaddr(p, ins);}public voidactionPerformed(ActionEvent e){if (e.getSource()== start ){try {ta_Output.setText( "");ta_Output.setText( "");Run();}catch(Exception ee){JOptionPane.showMessageDialog(null, "对不起,输入错误,请检查输入格式! ", "错误",JOptionPane.ERROR_MESSAGE);}}if (e.getSource()== btHelp){this.setVisible( false);newhelpOneFrame(this );}}}7、下面是workTwoFrame.Javapackagecom.hjc;import static com.hjc.Constant.*;import java.awt.Button;import java.awt.Color;import java.awt.Font;import java.awt.Frame;import java.awt.Graphics;import java.awt.Image;import java.awt.TextArea;import java.awt.TextField;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;精选范本,供参考!import java.awt.event.KeyAdapter;import java.awt.event.KeyEvent;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import javax.swing.JOptionPane;publicclassworkTwoFrameextendsFrameimplementsActionListener{/****/privatestaticfinallongserialVersionUID=1L;privateTextFieldta_Serial_Numbers=newTextField();privateTextFieldta_Physical_Block_Numbers=newTextField();privateTextAreataOutput=newTextArea();privateButtonbtFIFO=newButton("先进先出");privateButtonbtLRU=newButton("近期最少");privateButtonbtClear=newButton("清空");privateButtonbtHelp=newButton("帮助");privateImageicon=Toolkit.getDefaultToolkit().getImage("image//icon.png");//图标privateImageline=Toolkit.getDefaultToolkit().getImage("image//line.png");//线privateImageback=Toolkit.getDefaultToolkit().getImage("image//back.png");//背景public MenuFramemf; //MenuFrame引用privateintPhysical_Block_Numbers;privateint[]Serial;privateintMax_Digits;privateintPages_Missing_Numbers;publicworkTwoFrame(MenuFramemf){this.mf=mf;this.setTitle("分页管理的缺页调度");//设置标题this.setLayout(null);//布局为nullthis.setBounds((PM_WIDTH-EXE_WIDTH)/2,(PM_HEIGHT-EXE_HEIGHT)/2, EXE_WIDTH,EXE_HEIGHT);// 应用的位置精选范本,供参考!this .setIconImage( icon); // 设置应用图标btClear.setBounds(400,50,80,30);btClear.addActionListener( this);this .add(btClear);// 物理块数输入框ta_Physical_Block_Numbers .setBounds(100,50,200,30);ta_Physical_Block_Numbers .setFont( newFont( "Courier" ,Font. PLAIN,25));ta_Physical_Block_Numbers .addKeyListener( newKeyAdapter(){ // 只允许输入数字public voidkeyTyped(KeyEvent e){int keyChar= e.getKeyChar();if (keyChar>=KeyEvent. VK_0&&keyChar<=KeyEvent. VK_9){} else{e.consume(); // 关键,屏蔽掉非法输入}}});this .add(ta_Physical_Block_Numbers );// 页面号引用串输入框ta_Serial_Numbers .setBounds(100,110,380,30);ta_Serial_Numbers .setFont( newFont("Courier" ,Font. PLAIN,25));ta_Serial_Numbers .addKeyListener( newKeyAdapter(){ // 只允许输入数字和空格public voidkeyTyped(KeyEvent e){int keyChar= e.getKeyChar();if ((keyChar>=KeyEvent. VK_0&&keyChar<=KeyEvent.VK_9)|| keyChar==KeyEvent. VK_SPACE){} else{e.consume(); // 关键,屏蔽掉非法输入}}});this .add(ta_Serial_Numbers );taOutput.setBounds(30,200,300,280);taOutput.setFont(newFont("Courier",Font.PLAIN,15));taOutput.setEditable(false);this.add(taOutput);精选范本,供参考!btFIFO.setBounds(365,230,100,30);btFIFO.addActionListener( this);this .add(btFIFO);btLRU.setBounds(365,310,100,30);btLRU.addActionListener( this);this .add(btLRU);btHelp.setBounds(365,390,100,30);btHelp.addActionListener( this);this .add(btHelp);this .addWindowListener( newWindowAdapter(){public voidwindowClosing(WindowEvent e){setVisible( false);mf.setVisible( true);}});this .setResizable( false); // 大小不可变this .setVisible( true); // 可视}// 绘制方法public voidpaint(Graphics g){Color c= g.getColor(); // 先得到背景色g.setColor(Color.black);//设置画笔颜色为黑色g.drawImage(back,0,0,EXE_WIDTH,EXE_HEIGHT,this);g.drawImage(line,0,160,500,10, this );g.drawString( "物理块数:",30,70);g.drawString( "页面使用列表 :",20,130);g.drawString( "输出:",30,190);g.setColor( c); // 恢复为背景色}public voidactionPerformed(ActionEvent e){if (e.getSource()== btFIFO){ // 先进先出按钮try {Physical_Block_Numbers =Integer.parseInt(ta_Physical_Block_Numbers .getText()); //精选范本,供参考!为物理块数赋值String[] s=ta_Serial_Numbers .getText().replaceAll( "+","").split( "");Serial = newint[s.length];Max_Digits =0;for (int i=0; i<s.length; i++){Serial [i]=Integer. parseInt(s[i]); // 为串号列表数组赋值if (String. valueOf(Serial[i]).length()> Max_Digits){Max_Digits =String. valueOf(Serial [i]).length();}}taOutput.setText( "");Pages_Missing_Numbers=0;FIFO(); // 先进先出算法}catch(Exception exception ){JOptionPane.showMessageDialog(null, "对不起,输入错误,请检查输入格式! ", "错误",JOptionPane.ERROR_MESSAGE);}}if (e.getSource()== btLRU){ // 先进先出按钮try {Physical_Block_Numbers =Integer.parseInt(ta_Physical_Block_Numbers .getText()); //为物理块数赋值String[] s=ta_Serial_Numbers .getText().replaceAll( "+","").split( "");Serial = newint[s.length];Max_Digits =0;for (int i=0; i<s.length; i++){Serial [i]=Integer. parseInt(s[i]); // 为串号列表数组赋值if (String. valueOf(Serial[i]).length()> Max_Digits){Max_Digits =String. valueOf(Serial [i]).length();}}taOutput.setText( "");Pages_Missing_Numbers=0;LRU(); // 先进先出算法}catch(Exception exception ){JOptionPane.showMessageDialog(null,"对不起,输入错误,请检查输入格式!","错误",JOptionPane.ERROR_MESSAGE);精选范本,供参考!}}if(e.getSource()==btClear){ta_Physical_Block_Numbers.setText("");ta_Physical_Block_Numbers.setText("");ta_Serial_Numbers.setText("");ta_Serial_Numbers.setText("");taOutput.setText("");taOutput.setText("");}if(e.getSource()==btHelp){this.setVisible(false);newhelpTwoFrame(this);}}//FIFO算法publicvoidFIFO(){charflag;intSerial_Length=Serial.length;int[]mem=newint[Physical_Block_Numbers+2];char[]f=newchar[Serial_Length];int[][]table=newint[Physical_Block_Numbers][Serial_Length];taOutput.setText(taOutput.getText()+"*FIFO算法*\n\n");taOutput.setText(taOutput.getText()+"输出结果为下表*代表有缺页\n\n");for(inti=0;i<mem.length;i++){mem[i]=-1;}for(inti=0;i<Serial_Length;i++){intq=0;while((Serial[i]!=mem[q])&&(q!=Physical_Block_Numbers)){q++;}if(q==Physical_Block_Numbers){flag='*';//缺页则置标志flag为'*'精选范本,供参考!Pages_Missing_Numbers++;}else{flag = '' ;}if (flag =='*' ){for (int j= Physical_Block_Numbers -1; j>0; j--){淘汰最先调入的页面调入当前访问的mem[j]= mem[j-1];}mem[0]= Serial [i];}for (int j=0; j< Physical_Block_Numbers ; j++){table[j][i]= mem[j];}f[i]= flag;}for (int i=0; i< Physical_Block_Numbers ; i++){for (int j=0; j< Serial_Length ; j++){String s= "";int temp=Max_Digits -String. valueOf(table[i][j]).length();if (table[i][j]==-1){for (int k=0; k< Max_Digits; k++){s+= "";}taOutput.setText( taOutput.getText()+ s+ " " );} else{for (int k=0; k< temp; k++){s+= "";}taOutput .setText(taOutput.getText()+table[i][j]+s+"");}}taOu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年小学英语能力测试试题及答案
- 2025年粮食安全与农业发展考试试题及答案
- 2025年国家安全法相关知识测试卷及答案
- 2025年公共英语等级考试试卷及答案
- 2025年供应链金融理论与实践考试试题及答案
- 物资管理计划管理制度
- 物资验收安全管理制度
- 特殊员工工时管理制度
- 特殊学生安全管理制度
- 特殊气体存放管理制度
- 第九课《大海》课件 花城版音乐二年级下册
- 医院节能减排措施
- 施工现场急救流程
- 活动策划组织服务方案(技术方案)
- 2025年山西焦煤集团有限责任公司招聘笔试参考题库含答案解析
- 医疗设施建设施工方案及措施
- 2025年山东黄金集团有限公司招聘笔试参考题库含答案解析
- 化脓性汗腺炎的临床护理
- 门诊护理沟通技巧
- 常见急症教育课件
- 行测图形推理1000题库带答案
评论
0/150
提交评论