通道處理模擬_第1頁
通道處理模擬_第2頁
通道處理模擬_第3頁
通道處理模擬_第4頁
通道處理模擬_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 計(jì)算機(jī)體系結(jié)構(gòu)試驗(yàn)報(bào)告 專業(yè)班級學(xué)號:姓名:指導(dǎo)教師:雷向東一實(shí)驗(yàn)?zāi)康?#160;通過模擬實(shí)現(xiàn)通道處理過程,掌握通道技術(shù)。 二、實(shí)驗(yàn)內(nèi)容  結(jié)合數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識(shí),編寫通道處理過程模擬程序。  1 通道完成一次數(shù)據(jù)輸入輸出的過程需三步(如圖一所示): (1) 在用戶程序中使用訪管指令進(jìn)入管理程序,由CPU 通過管理程序組織一個(gè)通道程序,并啟  動(dòng)通道; (2) 通道處理機(jī)執(zhí)行通道程序,完成指定的數(shù)據(jù)輸入輸出工作; (3) 通道程序結(jié)束后第二次調(diào)

2、用管理程序?qū)斎胼敵稣埱筮M(jìn)行處理每完成一次輸入輸出工作, CPU 只需要兩次調(diào)用管理程序,大大減少了對用戶程序的打擾。   圖一 通道程序,管理程序和用戶程序的執(zhí)行時(shí)間關(guān)系  2 通道的主要功能(如圖二所示): (1)接受CPU 發(fā)來的指令,選擇一臺(tái)指定的外圍設(shè)備與通道相連接 (2)執(zhí)行CPU 為通道組織的通道程序 (3)管理外圍設(shè)備的有關(guān)地址 (4)管理主存緩沖區(qū)的地址 (5)控制外圍設(shè)備與主存緩沖區(qū)間數(shù)據(jù)交換的個(gè)數(shù) (6)

3、指定傳送工作結(jié)束時(shí)要進(jìn)行的操作 (7)檢查外圍設(shè)備的工作狀態(tài),是正?;蚬收?#160;(8)在數(shù)據(jù)傳輸過程中完成必要的格式的變換 三設(shè)計(jì)思路及代碼通道是一種簡單的共享通道,主要為多臺(tái)低速或中速的外圍設(shè)備服務(wù)。它采用分時(shí)方式工作,依靠它與cpu之間的高速數(shù)據(jù)通路分時(shí)為多臺(tái)設(shè)備服務(wù)。  如果通道上連接了多個(gè)外圍設(shè)備,則此時(shí)通道上的各個(gè)設(shè)備輪流占用一個(gè)很短的時(shí)間片(通常小于100微秒)傳輸一個(gè)字節(jié),或者說,不同的設(shè)備在他所分得的時(shí)間片內(nèi)與通道在邏輯上建立傳輸連接,此方式也叫做字節(jié)交叉方式。與此同時(shí),它還允許一個(gè)設(shè)備一次占用通道比較長的時(shí)間傳輸一組數(shù)據(jù)?;蛘哒f與

4、通道的連接可以根據(jù)需要維持到一組數(shù)據(jù)全部傳送完成,這也稱為成組方式。  本次試驗(yàn)主要模擬的是字節(jié)交叉方式程序源代碼:import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.table.*;public class ChannelDeal extends Frame public static void main(String args) ChannelDeal lruc = new ChannelDeal();lruc.lauchFrame();Graphics g;

5、Image offScreenImage = null;Label jlabel1;Label jlabel2;TextArea jta1;TextField jtf2;TextField jtf3;Button jb_input;Button run;JScrollPane jsp;JTable jt;DefaultTableModel dtm;public void lauchFrame() this.setLayout(null);this.setBounds(100, 100, 600, 500);this.setBackground(Color.cyan);this.setVisib

6、le(true);jlabel1 = new Label("請選擇設(shè)備:");jlabel2 = new Label("請輸入設(shè)備內(nèi)容:");jta1 = new TextArea();jtf2 = new TextField();jtf3 = new TextField();jb_input = new Button("輸入"); run = new Button("運(yùn)行通道管理器");jlabel1.setBounds(50, 50, 70, 20);jlabel2.setBounds(230, 50, 90,

7、 20);jta1.setBounds(50, 100, 500, 150);jtf2.setBounds(130, 50, 70, 20);jtf3.setBounds(330, 50, 90, 20);jb_input.setBounds(450, 50, 60, 20);run.setBounds(450, 260, 100, 20);this.add(jlabel1);this.add(jlabel2);this.add(jta1);this.add(jtf2);this.add(jtf3);this.add(jb_input);this.add(run);this.addWindow

8、Listener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0););jb_input.addActionListener(new InputActionListener();run.addActionListener(new RunActionListener();g = this.getGraphics();new Thread(new PaintThread().start();Object title = "","設(shè)備","內(nèi)容&qu

9、ot;,""dtm = new DefaultTableModel(title, 0);jt = new JTable(dtm);jsp = new JScrollPane(jt);jsp.setViewportView(jt);Panel p = new Panel();p.setBounds(290, 300, 225, 180);p.add(jsp);this.add(p);jta1.append("This is a channel dealing test.n");jta1.append("Please select the faci

10、fity.n");class InputActionListener implements ActionListener public void actionPerformed(ActionEvent e) if(jtf2.getText().equals("") Object options = "OK" ;JOptionPane.showOptionDialog(null, "你的輸入存在“”,請按提示輸入!", "警告", JOptionPane.DEFAULT_OPTION, JOptionPan

11、e.WARNING_MESSAGE,null, options, options0);dtm.addRow(new Object"", jtf2.getText(), jtf3.getText(), ""); jtf2.setText(""); jtf3.setText("");class RunActionListener implements ActionListener public void actionPerformed(ActionEvent e) new Thread(new TextAreaThre

12、ad().start();class Facility int x, y, width, height;Color color;String s;Boolean flag;public Facility(int x, int y,int width, int height, Color color, String s, Boolean flag) this.x = x;this.y = y;this.width = width;this.height = height;this.color = color;this.s = s;this.flag = flag;public void draw

13、(Graphics g) Color c = g.getColor();g.setColor(color);if(flag = true) g.fillRect(x, y, width, height); else if(flag = false) g.fillOval(x, y, width, height);g.setColor(Color.red);g.drawString(s, x, y+25);g.setColor(c);private class PaintThread implements Runnable public void run() while(true) repain

14、t();try Thread.sleep(500); catch (InterruptedException e) e.printStackTrace();public void paint(Graphics g) Facility f = new Facility(50, 300, 150, 180, Color.gray, "", true);/new一個(gè)矩形,表示設(shè)備管理器Facility f1 = new Facility(50, 300, 50, 50, Color.blue, "設(shè)備1", false);Facility f2 = new F

15、acility(100, 300, 50, 50, Color.cyan, "設(shè)備2", false);Facility f3 = new Facility(150, 300, 50, 50, Color.white, "設(shè)備3", false);Facility f4 = new Facility(50, 350, 50, 50, Color.black, "設(shè)備4", false);Facility f5 = new Facility(100, 350, 50, 50, Color.yellow, "設(shè)備5",

16、 false);Facility f6 = new Facility(150, 350, 50, 50, Color.orange, "設(shè)備6", false);f.draw(g);f1.draw(g);f2.draw(g);f3.draw(g);f4.draw(g);f5.draw(g);f6.draw(g);if(jt.getRowCount() >= 1) /被選中的設(shè)備用紅色圓圈代替,現(xiàn)在處理第一個(gè)被選擇的設(shè)備if(jt.getValueAt(0, 1).equals(f1.s) /當(dāng)?shù)谝粋€(gè)被選中的設(shè)備是設(shè)備1時(shí)new Facility(50, 300, 50

17、, 50, Color.red, "", false).draw(g); else if(jt.getValueAt(0, 1).equals(f2.s) /當(dāng)?shù)谝粋€(gè)被選中的設(shè)備是設(shè)備2時(shí)new Facility(100, 300, 50, 50, Color.red, "", false).draw(g); else if(jt.getValueAt(0, 1).equals(f3.s) /當(dāng)?shù)谝粋€(gè)被選中的設(shè)備是設(shè)備3時(shí)new Facility(150, 300, 50, 50, Color.red, "", false).draw

18、(g); else if(jt.getValueAt(0, 1).equals(f4.s) /當(dāng)?shù)谝粋€(gè)被選中的設(shè)備是設(shè)備4時(shí)new Facility(50, 350, 50, 50, Color.red, "", false).draw(g); else if(jt.getValueAt(0, 1).equals(f5.s) /當(dāng)?shù)谝粋€(gè)被選中的設(shè)備是設(shè)備5時(shí)new Facility(100, 350, 50, 50, Color.red, "", false).draw(g); else if(jt.getValueAt(0, 1).equals(f6.

19、s) /當(dāng)?shù)谝粋€(gè)被選中的設(shè)備是設(shè)備6時(shí)new Facility(150, 350, 50, 50, Color.red, "", false).draw(g); if(jt.getRowCount() >= 2) /被選中的設(shè)備用紅色圓圈代替,現(xiàn)在處理第二個(gè)被選擇的設(shè)備if(jt.getValueAt(1, 1).equals(f1.s) /當(dāng)?shù)诙€(gè)被選中的設(shè)備是設(shè)備1時(shí)new Facility(50, 300, 50, 50, Color.red, "", false).draw(g); else if(jt.getValueAt(1, 1).e

20、quals(f2.s) /當(dāng)?shù)诙€(gè)被選中的設(shè)備是設(shè)備2時(shí)new Facility(100, 300, 50, 50, Color.red, "", false).draw(g); else if(jt.getValueAt(1, 1).equals(f3.s) /當(dāng)?shù)诙€(gè)被選中的設(shè)備是設(shè)備3時(shí)new Facility(150, 300, 50, 50, Color.red, "", false).draw(g); else if(jt.getValueAt(1, 1).equals(f4.s) /當(dāng)?shù)诙€(gè)被選中的設(shè)備是設(shè)備4時(shí)new Facility(5

21、0, 350, 50, 50, Color.red, "", false).draw(g); else if(jt.getValueAt(1, 1).equals(f5.s) /當(dāng)?shù)诙€(gè)被選中的設(shè)備是設(shè)備5時(shí)new Facility(100, 350, 50, 50, Color.red, "", false).draw(g); else if(jt.getValueAt(1, 1).equals(f6.s) /當(dāng)?shù)诙€(gè)被選中的設(shè)備是設(shè)備6時(shí)new Facility(150, 350, 50, 50, Color.red, "", f

22、alse).draw(g); if(jt.getRowCount() >= 3) /被選中的設(shè)備用紅色圓圈代替,現(xiàn)在處理第三個(gè)被選擇的設(shè)備if(jt.getValueAt(2, 1).equals(f1.s) /當(dāng)?shù)谌齻€(gè)被選中的設(shè)備是設(shè)備1時(shí)new Facility(50, 300, 50, 50, Color.red, "", false).draw(g); else if(jt.getValueAt(2, 1).equals(f2.s) /當(dāng)?shù)谌齻€(gè)被選中的設(shè)備是設(shè)備2時(shí)new Facility(100, 300, 50, 50, Color.red, "

23、", false).draw(g); else if(jt.getValueAt(2, 1).equals(f3.s) /當(dāng)?shù)谌齻€(gè)被選中的設(shè)備是設(shè)備3時(shí)new Facility(150, 300, 50, 50, Color.red, "", false).draw(g); else if(jt.getValueAt(2, 1).equals(f4.s) /當(dāng)?shù)谌齻€(gè)被選中的設(shè)備是設(shè)備4時(shí)new Facility(50, 350, 50, 50, Color.red, "", false).draw(g); else if(jt.getValue

24、At(2, 1).equals(f5.s) /當(dāng)?shù)谌齻€(gè)被選中的設(shè)備是設(shè)備5時(shí)new Facility(100, 350, 50, 50, Color.red, "", false).draw(g); else if(jt.getValueAt(2, 1).equals(f6.s) /當(dāng)?shù)谌齻€(gè)被選中的設(shè)備是設(shè)備6時(shí)new Facility(150, 350, 50, 50, Color.red, "", false).draw(g); if(jt.getRowCount() >= 4) /被選中的設(shè)備用紅色圓圈代替,現(xiàn)在處理第四個(gè)被選擇的設(shè)備if(j

25、t.getValueAt(3, 1).equals(f1.s) /當(dāng)?shù)谒膫€(gè)被選中的設(shè)備是設(shè)備1時(shí)new Facility(50, 300, 50, 50, Color.red, "", false).draw(g); else if(jt.getValueAt(3, 1).equals(f2.s) /當(dāng)?shù)谒膫€(gè)被選中的設(shè)備是設(shè)備2時(shí)new Facility(100, 300, 50, 50, Color.red, "", false).draw(g); else if(jt.getValueAt(3, 1).equals(f3.s) /當(dāng)?shù)谒膫€(gè)被選中的設(shè)備

26、是設(shè)備3時(shí)new Facility(150, 300, 50, 50, Color.red, "", false).draw(g); else if(jt.getValueAt(3, 1).equals(f4.s) /當(dāng)?shù)谒膫€(gè)被選中的設(shè)備是設(shè)備4時(shí)new Facility(50, 350, 50, 50, Color.red, "", false).draw(g); else if(jt.getValueAt(3, 1).equals(f5.s) /當(dāng)?shù)谒膫€(gè)被選中的設(shè)備是設(shè)備5時(shí)new Facility(100, 350, 50, 50, Color.r

27、ed, "", false).draw(g); else if(jt.getValueAt(3, 1).equals(f6.s) /當(dāng)?shù)谒膫€(gè)被選中的設(shè)備是設(shè)備6時(shí)new Facility(150, 350, 50, 50, Color.red, "", false).draw(g); if(jt.getRowCount() >= 5) /被選中的設(shè)備用紅色圓圈代替,現(xiàn)在處理第五個(gè)被選擇的設(shè)備if(jt.getValueAt(4, 1).equals(f1.s) /當(dāng)?shù)谖鍌€(gè)被選中的設(shè)備是設(shè)備1時(shí)new Facility(50, 300, 50, 50

28、, Color.red, "", false).draw(g); else if(jt.getValueAt(4, 1).equals(f2.s) /當(dāng)?shù)谖鍌€(gè)被選中的設(shè)備是設(shè)備2時(shí)new Facility(100, 300, 50, 50, Color.red, "", false).draw(g); else if(jt.getValueAt(4, 1).equals(f3.s) /當(dāng)?shù)谖鍌€(gè)被選中的設(shè)備是設(shè)備3時(shí)new Facility(150, 300, 50, 50, Color.red, "", false).draw(g);

29、 else if(jt.getValueAt(4, 1).equals(f4.s) /當(dāng)?shù)谖鍌€(gè)被選中的設(shè)備是設(shè)備4時(shí)new Facility(50, 350, 50, 50, Color.red, "", false).draw(g); else if(jt.getValueAt(4, 1).equals(f5.s) /當(dāng)?shù)谖鍌€(gè)被選中的設(shè)備是設(shè)備5時(shí)new Facility(100, 350, 50, 50, Color.red, "", false).draw(g); else if(jt.getValueAt(4, 1).equals(f6.s) /

30、當(dāng)?shù)谖鍌€(gè)被選中的設(shè)備是設(shè)備6時(shí)new Facility(150, 350, 50, 50, Color.red, "", false).draw(g);if(jt.getRowCount() >= 6) /被選中的設(shè)備用紅色圓圈代替,現(xiàn)在處理第六個(gè)被選擇的設(shè)備if(jt.getValueAt(5, 1).equals(f1.s) /當(dāng)?shù)诹鶄€(gè)被選中的設(shè)備是設(shè)備1時(shí)new Facility(50, 300, 50, 50, Color.red, "", false).draw(g); else if(jt.getValueAt(5, 1).equals

31、(f2.s) /當(dāng)?shù)诹鶄€(gè)被選中的設(shè)備是設(shè)備2時(shí)new Facility(100, 300, 50, 50, Color.red, "", false).draw(g); else if(jt.getValueAt(5, 1).equals(f3.s) /當(dāng)?shù)诹鶄€(gè)被選中的設(shè)備是設(shè)備3時(shí)new Facility(150, 300, 50, 50, Color.red, "", false).draw(g); else if(jt.getValueAt(5, 1).equals(f4.s) /當(dāng)?shù)诹鶄€(gè)被選中的設(shè)備是設(shè)備4時(shí)new Facility(50, 35

32、0, 50, 50, Color.red, "", false).draw(g); else if(jt.getValueAt(5, 1).equals(f5.s) /當(dāng)?shù)诹鶄€(gè)被選中的設(shè)備是設(shè)備5時(shí)new Facility(100, 350, 50, 50, Color.red, "", false).draw(g); else if(jt.getValueAt(5, 1).equals(f6.s) /當(dāng)?shù)诹鶄€(gè)被選中的設(shè)備是設(shè)備6時(shí)new Facility(150, 350, 50, 50, Color.red, "", false)

33、.draw(g); public void update(Graphics g) this.paint(g); class TextAreaThread implements Runnable ChannelDeal cd = new ChannelDeal(); public void run() for(int i=0; i<3; i+) jta1.setText("The CPU is doing something."); try Thread.sleep(500); catch(InterruptedException e) e.printStackTrac

34、e(); jta1.setText("The CPU is doing something."); try Thread.sleep(500); catch(InterruptedException e) e.printStackTrace(); jta1.append("n"); char buffer1 = null;char buffer2 = null;char buffer3 = null;char buffer4 = null;char buffer5 = null;char buffer6 = null;if(jt.getRowCount(

35、) = 1) /只選中一個(gè)設(shè)備時(shí)jta1.append("設(shè)備號:" + jt.getValueAt(0, 1) + " 內(nèi)容:n"); try Thread.sleep(1000); catch(InterruptedException e) e.printStackTrace(); String s = (String) jt.getValueAt(0, 2);/s用于存放該設(shè)備的內(nèi)容buffer1 = s.toCharArray();/buffer1存放內(nèi)容的字符形式String s1 = ""for(int i=0; i<

36、;buffer1.length; i+) s1 = s1 + buffer1i;/s1一個(gè)字符一個(gè)字符的增加jta1.append("設(shè)備號:" + jt.getValueAt(0, 1) + " 內(nèi)容:" + s1 + "n");try Thread.sleep(1000); catch(InterruptedException e) e.printStackTrace(); else if(jt.getRowCount() = 2) /選中兩個(gè)設(shè)備時(shí)jta1.append("設(shè)備號:" + jt.getValu

37、eAt(0, 1) + " 內(nèi)容:n");jta1.append("設(shè)備號:" + jt.getValueAt(1, 1) + " 內(nèi)容:n"); try Thread.sleep(1000); catch(InterruptedException e) e.printStackTrace(); String s = (String) jt.getValueAt(0, 2);/s用于存放第一個(gè)設(shè)備的內(nèi)容buffer1 = s.toCharArray();/buffer1存放第一個(gè)設(shè)備的內(nèi)容的字符形式s = (String) jt.ge

38、tValueAt(1, 2);/s用于存放第二個(gè)設(shè)備的內(nèi)容buffer2 = s.toCharArray();/buffer1存放第二個(gè)設(shè)備的內(nèi)容的字符形式String s1 = ""String s2 = ""int size = 0;/size用于存放設(shè)備中最長內(nèi)容的長度if(buffer1.length >= buffer2.length) size = buffer1.length;for(int i=0; i<size; i+) if(i < buffer1.length) s1 = s1 + buffer1i;/s1一個(gè)字符

39、一個(gè)字符的增加jta1.append("設(shè)備號:" + jt.getValueAt(0, 1) + " 內(nèi)容:" + s1 + "n");jta1.append("設(shè)備號:" + jt.getValueAt(1, 1) + " 內(nèi)容:" + s2 + "n");try Thread.sleep(1000); catch(InterruptedException e) e.printStackTrace(); if(i < buffer2.length) s2 = s2

40、+ buffer2i;/s2一個(gè)字符一個(gè)字符的增加 jta1.append("設(shè)備號:" + jt.getValueAt(0, 1) + " 內(nèi)容:" + s1 + "n"); jta1.append("設(shè)備號:" + jt.getValueAt(1, 1) + " 內(nèi)容:" + s2 + "n"); try Thread.sleep(1000); catch(InterruptedException e) e.printStackTrace(); else if(jt.ge

41、tRowCount() = 3) /選中三個(gè)設(shè)備時(shí)jta1.append("設(shè)備號:" + jt.getValueAt(0, 1) + " 內(nèi)容:n");jta1.append("設(shè)備號:" + jt.getValueAt(1, 1) + " 內(nèi)容:n");jta1.append("設(shè)備號:" + jt.getValueAt(2, 1) + " 內(nèi)容:n"); try Thread.sleep(1000); catch(InterruptedException e) e.pr

42、intStackTrace(); String s = (String) jt.getValueAt(0, 2);/s用于存放第一個(gè)設(shè)備的內(nèi)容buffer1 = s.toCharArray();/buffer1存放第一個(gè)設(shè)備的內(nèi)容的字符形式s = (String) jt.getValueAt(1, 2);/s用于存放第二個(gè)設(shè)備的內(nèi)容buffer2 = s.toCharArray();/buffer2存放第二個(gè)設(shè)備的內(nèi)容的字符形式s = (String) jt.getValueAt(2, 2);/s用于存放第三個(gè)設(shè)備的內(nèi)容buffer3 = s.toCharArray();/buffer3存放第

43、三個(gè)設(shè)備的內(nèi)容的字符形式String s1 = ""String s2 = ""String s3 = ""int size = 0;/size用于存放設(shè)備中最長內(nèi)容的長度if(buffer1.length>=buffer2.length && buffer1.length>=buffer3.length) size = buffer1.length; else if(buffer2.length>=buffer1.length && buffer2.length>=buffer

44、3.length) size = buffer2.length; else size = buffer3.length;for(int i=0; i<size; i+) if(i < buffer1.length) s1 = s1 + buffer1i;/s1一個(gè)字符一個(gè)字符的增加jta1.append("設(shè)備號:" + jt.getValueAt(0, 1) + " 內(nèi)容:" + s1 + "n");jta1.append("設(shè)備號:" + jt.getValueAt(1, 1) + " 內(nèi)

45、容:" + s2 + "n");jta1.append("設(shè)備號:" + jt.getValueAt(2, 1) + " 內(nèi)容:" + s3 + "n");try Thread.sleep(1000); catch(InterruptedException e) e.printStackTrace(); if(i < buffer2.length) s2 = s2 + buffer2i;/s2一個(gè)字符一個(gè)字符的增加 jta1.append("設(shè)備號:" + jt.getValue

46、At(0, 1) + " 內(nèi)容:" + s1 + "n"); jta1.append("設(shè)備號:" + jt.getValueAt(1, 1) + " 內(nèi)容:" + s2 + "n"); jta1.append("設(shè)備號:" + jt.getValueAt(2, 1) + " 內(nèi)容:" + s3 + "n"); try Thread.sleep(1000); catch(InterruptedException e) e.printSt

47、ackTrace(); if(i < buffer3.length) s3 = s3 + buffer3i;/s3一個(gè)字符一個(gè)字符的增加 jta1.append("設(shè)備號:" + jt.getValueAt(0, 1) + " 內(nèi)容:" + s1 + "n"); jta1.append("設(shè)備號:" + jt.getValueAt(1, 1) + " 內(nèi)容:" + s2 + "n"); jta1.append("設(shè)備號:" + jt.getValue

48、At(2, 1) + " 內(nèi)容:" + s3 + "n"); try Thread.sleep(1000); catch(InterruptedException e) e.printStackTrace(); else if(jt.getRowCount() = 4) /選中四個(gè)設(shè)備時(shí)jta1.append("設(shè)備號:" + jt.getValueAt(0, 1) + " 內(nèi)容:n");jta1.append("設(shè)備號:" + jt.getValueAt(1, 1) + " 內(nèi)容:n

49、");jta1.append("設(shè)備號:" + jt.getValueAt(2, 1) + " 內(nèi)容:n");jta1.append("設(shè)備號:" + jt.getValueAt(3, 1) + " 內(nèi)容:n"); try Thread.sleep(1000); catch(InterruptedException e) e.printStackTrace(); String s = (String) jt.getValueAt(0, 2);/s用于存放第一個(gè)設(shè)備的內(nèi)容buffer1 = s.toChar

50、Array();/buffer1存放第一個(gè)設(shè)備的內(nèi)容的字符形式s = (String) jt.getValueAt(1, 2);/s用于存放第二個(gè)設(shè)備的內(nèi)容buffer2 = s.toCharArray();/buffer2存放第二個(gè)設(shè)備的內(nèi)容的字符形式s = (String) jt.getValueAt(2, 2);/s用于存放第三個(gè)設(shè)備的內(nèi)容buffer3 = s.toCharArray();/buffer3存放第三個(gè)設(shè)備的內(nèi)容的字符形式s = (String) jt.getValueAt(3, 2);/s用于存放第四個(gè)設(shè)備的內(nèi)容buffer4 = s.toCharArray();/buf

51、fer4存放第四個(gè)設(shè)備的內(nèi)容的字符形式String s1 = ""String s2 = ""String s3 = ""String s4 = ""int size = 0;/size用于存放設(shè)備中最長內(nèi)容的長度if(buffer1.length>=buffer2.length && buffer1.length>=buffer3.length && buffer1.length>=buffer4.length) size = buffer1.length; el

52、se if(buffer2.length>=buffer1.length && buffer2.length>=buffer3.length && buffer2.length>=buffer4.length) size = buffer2.length; else if(buffer3.length>=buffer1.length && buffer3.length>=buffer2.length && buffer3.length>=buffer4.length)size = buffer3

53、.length; else size = buffer4.length;for(int i=0; i<size; i+) if(i < buffer1.length) s1 = s1 + buffer1i;/s1一個(gè)字符一個(gè)字符的增加jta1.append("設(shè)備號:" + jt.getValueAt(0, 1) + " 內(nèi)容:" + s1 + "n");jta1.append("設(shè)備號:" + jt.getValueAt(1, 1) + " 內(nèi)容:" + s2 + "n&

54、quot;);jta1.append("設(shè)備號:" + jt.getValueAt(2, 1) + " 內(nèi)容:" + s3 + "n");jta1.append("設(shè)備號:" + jt.getValueAt(3, 1) + " 內(nèi)容:" + s4 + "n");try Thread.sleep(1000); catch(InterruptedException e) e.printStackTrace(); if(i < buffer2.length) s2 = s2

55、+ buffer2i;/s2一個(gè)字符一個(gè)字符的增加 jta1.append("設(shè)備號:" + jt.getValueAt(0, 1) + " 內(nèi)容:" + s1 + "n"); jta1.append("設(shè)備號:" + jt.getValueAt(1, 1) + " 內(nèi)容:" + s2 + "n"); jta1.append("設(shè)備號:" + jt.getValueAt(2, 1) + " 內(nèi)容:" + s3 + "n&quo

56、t;); jta1.append("設(shè)備號:" + jt.getValueAt(3, 1) + " 內(nèi)容:" + s4 + "n"); try Thread.sleep(1000); catch(InterruptedException e) e.printStackTrace(); if(i < buffer3.length) s3 = s3 + buffer3i;/s3一個(gè)字符一個(gè)字符的增加 jta1.append("設(shè)備號:" + jt.getValueAt(0, 1) + " 內(nèi)容:" + s1 + "n"); jta1.append("設(shè)備號:" + jt.getValueAt(1, 1) + " 內(nèi)容:" + s2 + "n&qu

溫馨提示

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

評論

0/150

提交評論