欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      java程序設計簡明教程--上機練習題參考答案

      時間:2019-05-12 21:09:36下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關的《java程序設計簡明教程--上機練習題參考答案》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《java程序設計簡明教程--上機練習題參考答案》。

      第一篇:java程序設計簡明教程--上機練習題參考答案

      《java程序設計簡明教程》上機練習題參考答案

      目 錄

      上機練習題1..................................................3 1.用循環(huán)語句分別打印九九乘法表......................................................................................................................3 2.定義兩個數組......................................................................................................................................................4 3.編寫一個簡單的考試程序..................................................................................................................................4 上機練習題2..................................................6 1.編寫程序,包括一個文本域和三個命令按鈕...................................................................................................6 2.編寫程序,包括一個文本框、一個密碼框和兩個按鈕...................................................................................7 3.編寫程序,建立一個帶有菜單的窗體..............................................................................................................8 4.編寫程序,將窗口尺寸設置為不可更改,并處理窗口事件...........................................................................9 5.編寫程序,用列表框列出一些選項,設置一個按鈕.....................................................................................10 6.編寫程序,用標簽顯示一道簡單測試題,答案使用單選按鈕列出.............................................................11 上機練習題3.................................................13 1.編寫Application在窗口內畫54個不同顏色的小圓......................................................................................13 2.編制Applet程序,使用Graphics類中的各種圖形繪制方法........................................................................14 3.編制Applet程序,以百葉窗效果顯示圖像....................................................................................................14 4.編制Applet程序,實現(xiàn)12個鋼琴鍵及其聲音的模擬..................................................................................17 上機練習題4.................................................18 1.假設在addressbook數據庫表中,存在多個姓氏相同的人,根據這一情況,建立相應的查詢功能.......18 2.編寫一個應用程序,使其可以從一個數據庫的某個表中查詢一個列的所有信息.....................................20 3.設計一個數據庫應用程序,功能是在學生數據庫的成績表中加入某門課程的所有學生的成績.............23 上機練習題5.................................................26 1.編寫GUI程序,制作一個文本文件閱讀器....................................................................................................26

      Java程序設計簡明教程

      2.編制程序,計算表達式“2*4*6+8*10*12+……+26*28*30”的值,并把結果輸出到文件中....................27 3.編制程序............................................................................................................................................................28 4.編寫程序,實現(xiàn)壓縮、解壓縮Zip文件.........................................................................................................29 5.編寫程序,從試題文件中抽取Java單選題進行測試練習............................................................................32 上機練習題6.................................................34 1.編制程序,求如下表達式的值........................................................................................................................34 2.用繼承Thread類的方法實現(xiàn)一個多線程程序...............................................................................................35 3.編制程序,同時顯示兩個時區(qū)的時鐘,并將時鐘的結果顯示在Fram窗體中...........................................37 4.使用異常處理機制和輸入/輸出處理機制編寫一個程序................................................................................41 上機練習題7.................................................42 1.編制Applet程序,使用Graphics類的常用方法,繪制一面五星紅旗........................................................42 2.編制Applet程序,實現(xiàn)一行文字的動畫顯示,即文字跑馬燈....................................................................42 3.編制Applet程序,實現(xiàn)圖片的水中倒影........................................................................................................44 4.結合圖形用戶界面與事件處理,創(chuàng)建一個日歷GUI程序............................................................................46 上機練習題8.................................................48 1.設計Java Applet程序,實現(xiàn)在圖片上飄雪花的特效....................................................................................48 2.設計一個通訊錄,保存讀者信息....................................................................................................................50 3.構造一個程序,它在一個窗口描繪出一個小鳥的圖標.................................................................................54

      上機練習題參考答案

      上機練習題1 1.用循環(huán)語句分別打印如圖1-24所示的九九乘法表。【參考程序】

      //文件XiTi1_1_1_1.java package XiTi;import java.io.*;import java.lang.*;public class XiTi1_1_1{ public static void main(String args[]){ String str=“ ”;int i,j;for(i=1;i<=9;i++){ for(j=1;j<=9;j++){ str=i+“*”+j+“=”+i*j;if(ij)System.out.print(” “);else System.out.print(str.length()==5?str+” “:str+” “);} System.out.println(”“);} } }

      //文件XiTi1_1_3.java package XiTi;import java.io.*;import java.lang.*;public class XiTi1_1_3{ public static void main(String args[]){ String str=” “;3

      Java程序設計簡明教程

      int i,j;for(i=1;i<=9;i++){ for(j=1;j<=9;j++){ str=i+”*“+j+”=“+i*j;System.out.print(str.length()==5?str+” “:str+” “);} System.out.println(”“);} } } 2.定義兩個數組,首先將第一個數組中的元素復制到第二個數組中,然后將第二個數數組進行從大到小的排序,最后將兩個數組中的對應元素進行比較,試統(tǒng)計兩個數組中對應位置上相同元素的個數。

      【參考程序】

      //文件XiTi1_2.java package XiTi;import java.io.*;import java.lang.*;public class XiTi1_2{ public static void main(String[] args){ int a[]={278,109,063,930,589,184,505,269,8,83};int b[]=new int[10];int t,cnt=0;for(int i=0;i<10;i++)b[i]=a[i];for(int i=1;i<10;i++)for(int j=0;j<10-i;j++)if(b[j]

      System.out.println(”“);System.out.println(”********************* b **********************“);System.out.println(”“);for(int i=0;i<10;i++)System.out.print(b[i]+” “);System.out.println(”“);System.out.println(”“);System.out.println(”對應元素相同的個數為:“+cnt);System.out.println(”“);} } 3.編寫一個簡單的考試程序?!緟⒖汲绦颉?/p>

      上機練習題參考答案

      //文件XiTi1_3.java package XiTi;import java.io.*;import java.util.Date;public class XiTi1_3{ public static void main(String[] args){ String yes=”Y“,ok=”“;int x,x1,y,opr=2,s,h,m,t1,t2;String op,str=”“,re=”“,a=”A“;do{ x=new Long(Math.round(Math.random()*99+1)).intValue();y=new Long(Math.round(Math.random()*99+1)).intValue();opr=new Long(Math.round(Math.random()*3+1)).intValue();s=new Date().getSeconds();h=new Date().getHours();m=new Date().getMinutes();t1=h*3600+m*60+s;switch(opr){ case 1: str=x+”+“+y+”=?“;re=Integer.toString(x+y);break;case 2: str=x+”-“+y+”=?“;re=Integer.toString(x-y);break;case 3: str=x+”*“+y+”=?“;re=Integer.toString(x*y);break;case 4: x1=Math.max(x,y);y=Math.min(x,y);x=x1;x=x-x%y;str=x+”/“+y+”=?“;re=Integer.toString(x/y);break;} System.out.print(str);try{ BufferedReader in =new BufferedReader(new InputStreamReader(System.in));ok=in.readLine();

      }catch(IOException e){};s=new Date().getSeconds();h=new Date().getHours();m=new Date().getMinutes();t2=h*3600+m*60+s;if(ok.equals(re.trim()))System.out.println(”正確!用時:“+(t2-t1)+”秒“);else if(a.equals(ok.toUpperCase()))5

      Java程序設計簡明教程

      System.out.println(”答案:“+re+”,請多努力!“);else System.out.println(”錯誤!答案:“+re);System.out.print(”繼續(xù)嗎(Y/N)?“);try{ BufferedReader in =new BufferedReader(new InputStreamReader(System.in));ok=in.readLine();

      }catch(IOException e){};}while(yes.equals(ok.toUpperCase()));System.out.println(”“);} }

      上機練習題2 1.編寫程序,包括一個文本域和三個命令按鈕,按鈕標題分別為紅色、黃色和藍色,單擊相應的按鈕,將文本域的前景色設置為紅色、黃色和藍色。

      【參考程序】

      import javax.swing.*;import javax.swing.event.*;import java.awt.event.*;import java.awt.*;public class xiti2_1 extends JFrame implements ActionListener{ JButton red,yellow,blue;JTextArea ta=new JTextArea(5,20);xiti2_1(){ red=new JButton(”紅色“);yellow=new JButton(”黃色“);blue=new JButton(”藍色“);red.addActionListener(this);yellow.addActionListener(this);blue.addActionListener(this);JPanel jp=new JPanel();jp.setLayout(new FlowLayout(FlowLayout.CENTER));jp.add(red);jp.add(yellow);jp.add(blue);Container con=getContentPane();con.add(ta,BorderLayout.CENTER);con.add(jp,BorderLayout.SOUTH);setSize(300,200);setTitle(”上機練習題2_1“);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);validate();} public void actionPerformed(ActionEvent e){ JButton btn=(JButton)e.getSource();if(btn==red){ ta.setForeground(Color.red);

      上機練習題參考答案

      } if(btn==yellow){ ta.setForeground(Color.yellow);} if(btn==blue){ ta.setForeground(Color.blue);} } public static void main(String args[]){ new xiti2_1();} } 2.編寫程序,包括一個文本框、一個密碼框和兩個按鈕。按鈕標題分別為確定和取消,用戶在密碼框中輸入密碼,單擊確定按鈕,將在密碼框中輸入的字符顯示在文本框中。

      【參考程序】

      import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;public class xiti2_2 extends JFrame implements ActionListener{ JPanel p1=new JPanel();JPanel p2=new JPanel();JPanel p3=new JPanel();JPanel p4=new JPanel();JPanel p5=new JPanel();JTextField text=new JTextField(15);JPasswordField password=new JPasswordField(15);JButton ok=new JButton(”確定“);JButton cancel=new JButton(”取消“);xiti2_2(){ Container con=getContentPane();con.setLayout(new GridLayout(5,1));p2.add(new JLabel(”密碼:“));p2.add(password);p3.add(new JLabel(”文本:“));p3.add(text);p4.add(ok);p4.add(cancel);ok.addActionListener(this);cancel.addActionListener(this);con.add(p1);con.add(p2);con.add(p3);con.add(p4);con.add(p5);setSize(300,200);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setTitle(”上機練習題2_2“);validate();} public void actionPerformed(ActionEvent e){ if(e.getSource()==ok){ text.setText(password.getText());7

      Java程序設計簡明教程

      } if(e.getSource()==cancel){ dispose();System.exit(0);} } public static void main(String args[]){ new xiti2_2();} } 3.編寫程序,建立一個帶有菜單的窗體。當用戶選擇“Color”或“Style”菜單的相關選項時,標簽中文字的字體和顏色會發(fā)生相應的變化。

      【參考程序】

      import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;class xiti2_3 extends JFrame implements ActionListener{ JMenuBar menubar=new JMenuBar();JTextArea ta=new JTextArea(”Hello Java!“);xiti2_3(){ setJMenuBar(menubar);JMenu menu,submenu;JMenuItem menuItem;menu=new JMenu(”Color“);menu.setMnemonic(KeyEvent.VK_C);menubar.add(menu);menuItem=new JMenuItem(”Yellow“);menuItem.setMnemonic(KeyEvent.VK_Y);menuItem.addActionListener(this);menu.add(menuItem);menuItem=new JMenuItem(”O(jiān)range“);menuItem.setMnemonic(KeyEvent.VK_O);menuItem.addActionListener(this);menu.add(menuItem);menuItem=new JMenuItem(”Pink“,KeyEvent.VK_P);menuItem.addActionListener(this);menu.add(menuItem);menuItem=new JMenuItem(”Blue“);menuItem.setMnemonic(KeyEvent.VK_B);menuItem.addActionListener(this);menu.add(menuItem);menu=new JMenu(”Style“);menu.setMnemonic(KeyEvent.VK_S);menubar.add(menu);menuItem=new JMenuItem(”Plain“);menuItem.setMnemonic(KeyEvent.VK_P);menuItem.addActionListener(this);menu.add(menuItem);menuItem=new JMenuItem(”Bold“);menuItem.setMnemonic(KeyEvent.VK_B);menuItem.addActionListener(this);8

      上機練習題參考答案

      menu.add(menuItem);menuItem=new JMenuItem(”Italic“);menuItem.setMnemonic(KeyEvent.VK_I);menuItem.addActionListener(this);menu.add(menuItem);menu=new JMenu(”Exit“);menu.setMnemonic(KeyEvent.VK_E);menubar.add(menu);menuItem=new JMenuItem(”Close Window“);menuItem.setMnemonic(KeyEvent.VK_W);menuItem.addActionListener(this);menu.add(menuItem);Container cp=getContentPane();cp.add(ta,BorderLayout.SOUTH);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setTitle(”菜單演示“);setSize(300,200);setVisible(true);} public void actionPerformed(ActionEvent e){ if(e.getActionCommand()==”Yellow“)ta.setForeground(Color.yellow);if(e.getActionCommand()==”O(jiān)range“)ta.setForeground(Color.orange);if(e.getActionCommand()==”Pink“)ta.setForeground(Color.pink);if(e.getActionCommand()==”Blue“)ta.setForeground(Color.blue);if(e.getActionCommand()==”Plain“)ta.setFont(new Font(”Dialog“,Font.PLAIN,24));if(e.getActionCommand()==”Bold“)ta.setFont(new Font(”Dialog“,Font.BOLD,24));if(e.getActionCommand()==”Italic“)ta.setFont(new Font(”Dialog“,Font.ITALIC,24));if(e.getActionCommand()==”Close Window“)System.exit(0);} public static void main(String args[]){ xiti2_3 menuexmple=new xiti2_3();} } 4.編寫程序,將窗口尺寸設置為不可更改,并處理窗口事件,使得點擊窗口關閉按鈕時,會彈出對話框,提示用戶是否確定要關閉窗口。

      【參考程序】

      import java.awt.event.*;import javax.swing.*;class MyFrame extends JFrame{ private JLabel label;public MyFrame(){ setTitle(”我的窗口“);label=new JLabel(”請點擊關閉按鈕!“,JLabel.CENTER);getContentPane().add(label);9

      Java程序設計簡明教程

      //為窗口添加關閉事件

      addWindowListener(new WindowCloseListener(this));//將點擊窗口關閉按鈕默認的關閉窗口功能去掉

      setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);//設置窗口大小不可更改 setResizable(false);setSize(300,200);setVisible(true);} class WindowCloseListener extends WindowAdapter{ JFrame f;public WindowCloseListener(JFrame frame){ f=frame;//f是對話框的父窗口 } public void windowClosing(WindowEvent e){ int i=JOptionPane.showConfirmDialog(f,”確定要關“,”“,JOptionPane.OK_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE);if(i==JOptionPane.OK_OPTION){ System.exit(0);//點擊確定退出程序 } } } public static void main(String[] args){ JFrame frame=new MyFrame();} }

      閉窗口嗎?5.編寫程序,用列表框列出一些選項,設置一個按鈕,點擊按鈕就會將所選的選項添加到另一個列表框中,其中第二個列表框中顯示的已選項目可以刪除。程序運行界面如圖2-16所示。

      【參考程序】

      import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.util.*;class MyList extends JFrame { JPanel panel;JButton add,remove;DefaultListModel listModel1,listModel2;JList list1,list2;String[] s={”計算機科學與技術“,”計算機通信“,”應用電子“,”電子商務“,”會計電算化“,”法律“,”工商管理“,”生物技術“,”建筑工程技術“,”工業(yè)設計“,”商務英語“,”統(tǒng)計“};ArrayList array1,array2;public MyList(){ setTitle(”列表框“);add=new JButton(”>>“);add.addActionListener(new AddActionListener());//為按鈕注冊監(jiān)聽器 remove=new JButton(”<<“);remove.addActionListener(new RemoveActionListener());//為按鈕注冊監(jiān)聽器

      listModel1=new DefaultListModel();//為列表1創(chuàng)建一個列表框模型 listModel2=new DefaultListModel();//為列表2創(chuàng)建一個列表框模型 for(int i=0;i

      上機練習題參考答案

      list1=new JList(listModel1);//通過列表框模型1創(chuàng)建列表框1 list2=new JList(listModel2);//通過列表框模型2創(chuàng)建列表框2 panel=new JPanel();panel.setLayout(new GridLayout(2,1));//面板用來放置按鈕 panel.add(add);panel.add(remove);Container c=getContentPane();c.setLayout(new FlowLayout(FlowLayout.LEFT));c.add(list1);c.add(panel);c.add(list2);setSize(280,280);setVisible(true);} class AddActionListener implements ActionListener{ public void actionPerformed(ActionEvent e){ int id=-1;id=list1.getSelectedIndex();//得到列表框1中被選中的項 if(id>=0){ listModel2.addElement(listModel1.get(id));//向列表框2中添加所選項 listModel1.remove(id);//將列表框1中所選項刪除 } } } class RemoveActionListener implements ActionListener{ public void actionPerformed(ActionEvent e){ int id=-1;id=list2.getSelectedIndex();//得到列表框2中被選中的項 if(id>=0){ listModel1.addElement(listModel2.get(id));//向列表框1中添加所選項 listModel2.remove(id);//將列表框2中所選項刪除 } } } public static void main(String args[]){ new MyList();} } 6.編寫程序,用標簽顯示一道簡單測試題,答案使用單選按鈕列出,用戶選擇答案后,會彈出對話框顯示結果或說明。

      【參考程序】

      import javax.swing.*;import java.awt.*;import java.awt.event.*;class Question{ public JFrame frame;public JPanel panel;static JLabel label;public JRadioButton b1,b2,b3;static String question=”如果你意外地拿到一千元獎金,想去買一件很需要的大衣,但是錢不夠;如果去買一雙不急需要的運動鞋,則又多了數百元,你會怎么做?“;static String xx1=”自已添些錢把大衣買回來?!?11

      Java程序設計簡明教程

      static String xx2=”買運動鞋再去買些其它的小東西?!?static String xx3=”什么都不買先存起來?!?static String dd1=”你的決斷力不錯,雖然有時也會三心二意、猶豫徘徊,可總是在重要關頭作出決定,你最大的特色是作了決定不再反悔?!?static String dd2=”你是拿不定主意的人,做事沒主見,處處要求別人給你意見,很少自已做判斷,因為個性上你有些自卑,不肯定自己?!?static String dd3=”你是判斷力超級強的人,不客氣地說,你甚至有點莽撞,就是因為你沖動率直的個性,反而考慮不夠周詳,你常常后悔自己匆匆作決定,忽略了其它事情?!?public JOptionPane optionPane;public Question(){ //構造方法,完成布局 frame=new JFrame(”心理測試“);panel=new JPanel();panel.setLayout(new GridLayout(3,1));label=new JLabel(question,JLabel.CENTER);b1=new JRadioButton(xx1);b2=new JRadioButton(xx2);b3=new JRadioButton(xx3);ButtonGroup group=new ButtonGroup();group.add(b1);group.add(b2);group.add(b3);RadioListener myListener=new RadioListener();b1.addActionListener(myListener);b2.addActionListener(myListener);b3.addActionListener(myListener);Container c=frame.getContentPane();c.add(label,BorderLayout.NORTH);c.add(panel,BorderLayout.CENTER);panel.add(b1);panel.add(b2);panel.add(b3);frame.pack();frame.setVisible(true);} class RadioListener implements ActionListener{ public void actionPerformed(ActionEvent e){ //事件處理,點擊選項彈出相應的對話框 JRadioButton rb=(JRadioButton)e.getSource();if(rb==b1){ JOptionPane.showMessageDialog(frame,dd1,”“,JOptionPane.DEFAULT_OPTION);} if(rb==b2){ JOptionPane.showMessageDialog(frame,dd2,”“,JOptionPane.DEFAULT_OPTION);} if(rb==b3){ JOptionPane.showMessageDialog(frame,dd3,”“,JOptionPane.DEFAULT_OPTION);} } } public static void main(String[] args){ new Question();} } 12

      上機練習題參考答案

      上機練習題3 1.編寫Application在窗口內畫54個不同顏色的小圓,每當窗口顯示在顯示器上、從隱藏變成顯示、從縮小圖標還原、改變窗口的大小時,小圓所呈現(xiàn)的顏色也可以發(fā)生變化。(提示:使用隨機數產生隨機顏色)。程序以不同顏色的小圓鋪滿窗口。如果在窗口內只顯示某個特定的部分,其他部分則不顯示時。

      【參考程序】

      //文件RandomColorDemo.java import java.awt.*;import javax.swing.*;class RandomColorDemo extends JFrame{ static RandomColorDemo frm=new RandomColorDemo();public static void main(String args[]){ frm.setTitle(”Random Color“);frm.setSize(200,150);frm.setVisible(true);} public void paint(Graphics g){ for(int x=10;x<=180;x=x+20)for(int y=30;y<=140;y=y+20){ int red=(int)(Math.random()*255);// 紅色的隨機數 int green=(int)(Math.random()*255);// 綠色的隨機數 int blue=(int)(Math.random()*255);// 藍色的隨機數 g.setColor(new Color(red,green,blue));// 設置顏色

      g.fillOval(x,y,15,15);// 用指定的顏色填滿小圓 } } }

      //文件RandomColor.java import java.awt.*;import javax.swing.*;class RandomColor extends JFrame{ static RandomColor frm=new RandomColor();public static void main(String args[]){ frm.setTitle(”Random Color“);frm.setSize(200,150);frm.setVisible(true);} public void paint(Graphics g){ g.setClip(35,37,125,100);//g.clipRect(35,37,125,100);for(int x=10;x<=180;x=x+20)for(int y=30;y<=140;y=y+20){ int red=(int)(Math.random()*255);// 紅色的隨機數 int green=(int)(Math.random()*255);// 綠色的隨機數 int blue=(int)(Math.random()*255);// 藍色的隨機數 g.setColor(new Color(red,green,blue));// 設置顏色

      g.fillOval(x,y,15,15);// 用指定的顏色填滿小圓 } //g.clearRect(35,37,125,100);

      Java程序設計簡明教程

      } } 2.編制Applet程序,使用Graphics類中的各種圖形繪制方法,繪制一個可愛的熊寶寶(或其他自己愛好的小動物,例如,小豬,小兔等)。在小應用程序瀏覽器中查看程序的執(zhí)行結果。

      【參考程序】

      import java.applet.*;import java.awt.*;import java.awt.Graphics;public class Bear extends Applet{ public void paint(Graphics g){ g.drawOval(100,40,180,180);//face g.fillOval(120,90,40,35);//left eye g.fillOval(220,90,40,35);//right eye g.fillOval(180,140,25,25);//nose g.setColor(Color.red);g.fillArc(166,170,50,30,180,180);//mouse g.fillArc(85,25,80,80,25,223);//left ear g.fillArc(215,25,80,80,-57,213);//right ear g.drawLine(156,210,96,320);//body g.drawLine(96,320,126,410);g.drawLine(236,210,296,320);g.drawLine(296,320,256,410);g.drawLine(126,410,256,410);g.fillOval(80,240,50,50);//arm g.fillOval(260,240,50,50);g.fillOval(100,390,50,50);//leg g.fillOval(230,390,50,50);} } 3.編制Applet程序,以百葉窗效果顯示圖像?!緟⒖汲绦颉?/p>

      //文件Efficient.java import java.awt.*;import java.applet.*;import java.io.*;import java.awt.image.*;public class Efficient extends Applet implements Runnable{ private Image img[],showImage;private MediaTracker imageTracker;private int ImageW,ImageH,totalImage=5,currentImage,nextImage;private Thread thread;private int delay;private int totalPix,pix1[],pix2[],pix3[],pix4[],pix5[],pixA[],pixB[];public void init(){ this.setBackground(Color.black);img=new Image[totalImage];imageTracker=new MediaTracker(this);String s=new String(”“);for(int i=0;i

      上機練習題參考答案

      imageTracker.addImage(img[i],0);} try{ imageTracker.waitForID(0);}catch(InterruptedException e){} if(getParameter(”delay“)==null){ delay=3000;} else{ delay=Integer.parseInt(getParameter(”delay“));} ImageW=img[0].getWidth(this);ImageH=img[0].getHeight(this);totalPix=ImageW*ImageH;pix1=new int[totalPix];PixelGrabber PG1=new PixelGrabber(img[0],0,0,ImageW,ImageH,pix1,0,ImageW);try{ PG1.grabPixels();}catch(InterruptedException ex){} pix2=new int[totalPix];PixelGrabber PG2=new PixelGrabber(img[1],0,0,ImageW,ImageH,pix2,0,ImageW);try{ PG2.grabPixels();}catch(InterruptedException ex){} pix3=new int[totalPix];PixelGrabber PG3=new PixelGrabber(img[2],0,0,ImageW,ImageH,pix3,0,ImageW);try{ PG3.grabPixels();}catch(InterruptedException ex){} pix4=new int[totalPix];PixelGrabber PG4=new PixelGrabber(img[3],0,0,ImageW,ImageH,pix4,0,ImageW);try{ PG4.grabPixels();}catch(InterruptedException ex){} pix5=new int[totalPix];PixelGrabber PG5=new PixelGrabber(img[4],0,0,ImageW,ImageH,pix5,0,ImageW);try{ PG5.grabPixels();}catch(InterruptedException ex){} currentImage=0;pixA=new int[totalPix];pixB=new int[totalPix];showImage=img[0];thread=new Thread(this);thread.start();} public void paint(Graphics g){ g.drawImage(showImage,0,0,this);} public void update(Graphics g){ paint(g);} public void run(){ 15

      Java程序設計簡明教程

      if(thread==null){ thread=new Thread(this);thread.start();} while(true){ try{ thread.sleep(delay);nextImage=((currentImage+1)%totalImage);if(currentImage==0){ System.arraycopy(pix1,0,pixA,0,totalPix);System.arraycopy(pix2,0,pixB,0,totalPix);showImage=createImage(new MemoryImageSource(ImageW,ImageH,pixA,0,ImageW));repaint();} if(currentImage==1){ System.arraycopy(pix2,0,pixA,0,totalPix);System.arraycopy(pix3,0,pixB,0,totalPix);showImage=createImage(new MemoryImageSource(ImageW,ImageH,pixA,0,ImageW));repaint();} if(currentImage==2){ System.arraycopy(pix3,0,pixA,0,totalPix);System.arraycopy(pix4,0,pixB,0,totalPix);showImage=createImage(new MemoryImageSource(ImageW,ImageH,pixA,0,ImageW));repaint();} if(currentImage==3){ System.arraycopy(pix4,0,pixA,0,totalPix);System.arraycopy(pix5,0,pixB,0,totalPix);showImage=createImage(new MemoryImageSource(ImageW,ImageH,pixA,0,ImageW));repaint();} if(currentImage==4){ System.arraycopy(pix5,0,pixA,0,totalPix);System.arraycopy(pix1,0,pixB,0,totalPix);showImage=createImage(new MemoryImageSource(ImageW,ImageH,pixA,0,ImageW));repaint();} while(true){ for(int i=0;i<(int)(ImageH/10);i++){ try{ thread.sleep(100);for(int j=0;j

      上機練習題參考答案

      currentImage=nextImage;repaint();}catch(InterruptedException e){} } } } 4.編制Applet程序,實現(xiàn)12個鋼琴鍵及其聲音的模擬?!緟⒖汲绦颉?/p>

      //文件Piano.java import java.awt.*;import java.applet.*;class Keyboard extends Canvas {//鋼琴鍵類

      Color keyColor=Color.white;AudioClip key;int width,height;Keyboard(Color c, AudioClip k){//初始化鋼琴鍵的顏色及聲音 keyColor=c;setBackground(keyColor);key=k;width=this.getSize().width;height=this.getSize().height;} public boolean mouseDown(Event event, int x, int y){//鼠標按下事件 key.play();return true;} public void paint(Graphics g){//畫鋼琴鍵 width=this.getSize().width;height=this.getSize().height;g.setColor(Color.black);g.drawRect(0,0,width-1,height-1);} } public class Piano extends Applet{ private int height,width;private Keyboard key[];private AudioClip sound[];public void init(){ this.setLayout(null);width=this.size().width;height=this.size().height;key=new Keyboard[12];sound=new AudioClip[12];String s=new String(”“);for(int i=0;i<12;i++){ s=i + ”.au“;sound[i]=getAudioClip(getCodeBase(),s);} key[0]=new Keyboard(Color.white,sound[0]);key[1]=new Keyboard(Color.black,sound[1]);key[2]=new Keyboard(Color.white,sound[2]);key[3]=new Keyboard(Color.black,sound[3]);17

      Java程序設計簡明教程

      key[4]=new Keyboard(Color.white,sound[4]);key[5]=new Keyboard(Color.white,sound[5]);key[6]=new Keyboard(Color.black,sound[6]);key[7]=new Keyboard(Color.white,sound[7]);key[8]=new Keyboard(Color.black,sound[8]);key[9]=new Keyboard(Color.white,sound[9]);key[10]=new Keyboard(Color.black,sound[10]);key[11]=new Keyboard(Color.white,sound[11]);key[1].setBounds(30,0,20,60);add(key[1]);key[3].setBounds(70,0,20,60);add(key[3]);key[6].setBounds(150,0,20,60);add(key[6]);key[8].setBounds(190,0,20,60);add(key[8]);key[10].setBounds(230,0,20,60);add(key[10]);key[0].setBounds(0,0,40,110);key[2].setBounds(40,0,40,110);key[4].setBounds(80,0,40,110);key[5].setBounds(120,0,40,110);key[7].setBounds(160,0,40,110);key[9].setBounds(200,0,40,110);key[11].setBounds(240,0,40,110);add(key[0]);add(key[2]);add(key[4]);add(key[5]);add(key[7]);add(key[9]);add(key[11]);} }

      上機練習題4 1.假設在addressbook數據庫表中,存在多個姓氏相同的人,根據這一情況,建立相應的查詢功能,使用戶可以在ResultSet中滾動記錄。要求設計一個合適的圖形界面。

      程序源代碼如下: 【參考程序】

      //數據庫連接使用ConnectServer類 import java.awt.*;import java.sql.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import java.util.*;import javax.swing.table.*;public class ex4_1 extends JFrame implements ActionListener{ JTable table;TableModel model;

      上機練習題參考答案

      DefaultTableModel dtm;Vector title=new Vector();JScrollPane p1;JPanel p3=new JPanel();JLabel bq1=new JLabel(”按姓氏或姓名查詢“);JTextField combSs=new JTextField(6);JButton btn1=new JButton(”確定“);String strs=null,xxno,xscore;Statement stmt;ResultSet rs;ResultSetMetaData dbmd;public ex4_1(){ String sql=”select * from address “;try{ stmt=ConnectServer.con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);rs=stmt.executeQuery(sql);dbmd=rs.getMetaData();for(int i=1;i<=dbmd.getColumnCount();i++)title.addElement(dbmd.getColumnName(i));dtm=new DefaultTableModel(null,title);table=new JTable(dtm);initTable();table.setRowHeight(20);p1=new JScrollPane(table);btn1.addActionListener(this);p3.add(bq1);p3.add(combSs);p3.add(btn1);this.getContentPane().add(p3,”North“);this.getContentPane().add(p1,”Center“);}catch(Exception e){System.out.println(e);dispose();} this.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0);}});setTitle(”學生信息查詢“);setSize(600,400);setVisible(true);} void initTable(){ dtm.setRowCount(0);try{ rs.beforeFirst();while(rs.next()){ Vector v1=new Vector();for(int i=1;i<=dbmd.getColumnCount();i++)v1.addElement(rs.getString(i));dtm.addRow(v1);} }catch(SQLException e){e.printStackTrace();} dtm.fireTableStructureChanged();} public void actionPerformed(ActionEvent e){ Vector title1=new Vector();if(e.getSource()==btn1){ strs=(String)combSs.getText();String sql=”select * from address where 姓名 LIKE '“+strs+”%'“;19

      Java程序設計簡明教程

      try{ stmt=ConnectServer.con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);rs=stmt.executeQuery(sql);dbmd=rs.getMetaData();for(int i=1;i<=dbmd.getColumnCount();i++)title1.addElement(dbmd.getColumnName(i));dtm=new DefaultTableModel(null,title1);table=new JTable(dtm);}catch(Exception ee){System.out.println(ee);dispose();} initTable();p1=new JScrollPane(table);this.getContentPane().add(p1,”Center“);setTitle(”學生信息“);table.setRowHeight(20);setSize(600,400);setVisible(true);} } public static void main(String args[]){ if(!ConnectServer.conn(”jdbc:odbc:xsgl“,”sa“,”“)){ JOptionPane.showMessageDialog(null,”數據庫連接不成功“);System.exit(0);} new ex4_1();} } 2.編寫一個應用程序,使其可以從一個數據庫的某個表中查詢一個列的所有信息?!緟⒖汲绦颉?/p>

      import java.awt.*;import java.sql.*;import java.awt.event.*;import javax.swing.*;import java.util.*;import javax.swing.table.*;public class ex4_2 extends JFrame implements ActionListener{ JTable table;DefaultTableModel dtm;Vector title=new Vector();JScrollPane p1;JPanel p2=new JPanel();JPanel p3=new JPanel();JButton b1=new JButton(”首頁“);JButton b2=new JButton(”上頁“);JButton b3=new JButton(”下頁“);JButton b4=new JButton(”尾頁“);JLabel bb=new JLabel(” “);JButton btn1=new JButton(”查詢“);JComboBox combSs=new JComboBox();int count=0;int pagesize=6;int pagecount=0;20

      上機練習題參考答案

      int page=1;Statement stmt;ResultSet rs;ResultSetMetaData dbmd;public ex4_2(){ String sql=”select * from baseinf“;try{ stmt=ConnectServer.con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);rs=stmt.executeQuery(sql);count=getcount();pagecount=(int)count/pagesize+(count%pagesize==0?0:1);dbmd=rs.getMetaData();for(int i=1;i<=dbmd.getColumnCount();i++){ title.addElement(dbmd.getColumnName(i));combSs.addItem(dbmd.getColumnName(i));} dtm=new DefaultTableModel(null,title);table=new JTable(dtm);initTable();table.setRowHeight(20);p1=new JScrollPane(table);if(pagecount!=0)bb.setText(”第“+page+”頁“);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);b4.addActionListener(this);btn1.addActionListener(this);p2.add(b1);p2.add(b2);p2.add(b3);p2.add(b4);p2.add(bb);p3.add(btn1);p3.add(combSs);this.getContentPane().add(p3,”North“);this.getContentPane().add(p1,”Center“);this.getContentPane().add(p2,”South“);}catch(Exception e){System.out.println(e);dispose();} this.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ try{ rs.close();stmt.close();ConnectServer.con.close();System.exit(0);}catch(SQLException ee){ee.printStackTrace();} }});setTitle(”書目信息分頁瀏覽“);setSize(500,300);setVisible(true);} void initTable(){ dtm.setRowCount(0);try{ rs.beforeFirst();for(int i=1;i<1+pagesize*(page-1);i++)rs.next();int j=0;while(j

      Java程序設計簡明教程

      j++;Vector v1=new Vector();for(int i=1;i<=dbmd.getColumnCount();i++)v1.addElement(rs.getString(i));dtm.addRow(v1);} }catch(SQLException e){e.printStackTrace();} dtm.fireTableStructureChanged();this.getContentPane();} public int getcount(){ int n=0;try{ if(rs.last()){ n=rs.getRow();rs.beforeFirst();return n;}else return 0;}catch(SQLException e){System.out.println(”有異常拋出“);return 0;} } public void actionPerformed(ActionEvent e){ Vector title1=new Vector();if(e.getSource()==btn1){ String strs=(String)combSs.getSelectedItem();String sql=”select no ,“+strs.trim()+” from baseinf“;try{ stmt=ConnectServer.con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);rs=stmt.executeQuery(sql);count=getcount();dbmd=rs.getMetaData();for(int i=1;i<=dbmd.getColumnCount();i++)title1.addElement(dbmd.getColumnName(i));dtm=new DefaultTableModel(null,title1);table=new JTable(dtm);}catch(Exception ee){System.out.println(ee);dispose();} initTable();p1=new JScrollPane(table);this.getContentPane().add(p1,”Center“);setTitle(”書目信息按某一列查詢?yōu)g覽“);this.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0);}});setSize(500,300);setVisible(true);} else if(e.getSource()==b1)page=1;else if(e.getSource()==b2){if(page>1)page=page-1;} else if(e.getSource()==b3){if(page

      ”+page+“頁”);} 22

      上機練習題參考答案

      public static void main(String args[]){ Font font=new Font(“JFrame”,Font.PLAIN,14);Enumeration keys=UIManager.getLookAndFeelDefaults().keys();while(keys.hasMoreElements()){ Object key=keys.nextElement();if(UIManager.get(key)instanceof Font)UIManager.put(key,font);} if(!ConnectServer.conn(“jdbc:odbc:libbook”,“sa”,“")){ JOptionPane.showMessageDialog(null,”數據庫連接不成功“);System.exit(0);} new ex4_2();} } 3.設計一個數據庫應用程序,功能是在學生數據庫的成績表中加入某門課程的所有學生的成績。【參考程序】

      //數據庫為xsgl,表grade的結構為xno,xname,shx,yy,wl import java.awt.*;import java.sql.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import java.util.*;import javax.swing.JTable.*;import javax.swing.table.*;public class ex4_3 extends JFrame implements ActionListener{ JTable table;TableModel model;DefaultTableModel dtm;Vector title=new Vector();JScrollPane p1;JPanel p2=new JPanel();JPanel p3=new JPanel();JButton b1=new JButton(”刷新“);JLabel bq1=new JLabel(”插入一列或某列成績“);JTextField combSs=new JTextField(6);JButton btn1=new JButton(”插入列“);String strs=null,xxno,xscore;Statement stmt;ResultSet rs;ResultSetMetaData dbmd;public ex4_3(){ String sql=”select * from grade“;try{ stmt=ConnectServer.con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);rs=stmt.executeQuery(sql);dbmd=rs.getMetaData();for(int i=1;i<=dbmd.getColumnCount();i++)title.addElement(dbmd.getColumnName(i));dtm=new DefaultTableModel(null,title);23

      Java程序設計簡明教程

      table=new JTable(dtm);initTable();model=table.getModel();model.addTableModelListener(new TableModelListener(){ public void tableChanged(TableModelEvent e){ int row=e.getFirstRow();int column=e.getColumn();Object data=model.getValueAt(row,column);try{ System.out.println(data);strs=combSs.getText();xscore=(String)data;xxno=(String)model.getValueAt(row,0);String sql=”update grade set “+strs+”=“+xscore+” where xno=“+xxno;stmt=ConnectServer.con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);stmt.executeUpdate(sql);System.out.println(”xno=“+xxno);table.requestDefaultFocus();}catch(Exception ee){System.out.println(”有異?!?ee.getMessage());} }});table.setRowHeight(20);p1=new JScrollPane(table);b1.addActionListener(this);btn1.addActionListener(this);p2.add(b1);p3.add(bq1);p3.add(combSs);p3.add(btn1);this.getContentPane().add(p3,”North“);this.getContentPane().add(p1,”Center“);this.getContentPane().add(p2,”South“);}catch(Exception e){System.out.println(e);dispose();} this.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ try{ rs.close();stmt.close();ConnectServer.con.close();System.exit(0);}catch(SQLException ee){ee.printStackTrace();} } });setTitle(”學生成績?yōu)g覽“);setSize(600,400);setVisible(true);} void initTable(){ dtm.setRowCount(0);try{ rs.beforeFirst();while(rs.next()){ Vector v1=new Vector();for(int i=1;i<=dbmd.getColumnCount();i++)v1.addElement(rs.getString(i));dtm.addRow(v1);} 24

      上機練習題參考答案

      }catch(SQLException e){e.printStackTrace();} dtm.fireTableStructureChanged();} public void actionPerformed(ActionEvent e){ Vector title1=new Vector();if(e.getSource()==btn1){ strs=(String)combSs.getText();String sql=”ALTER TABLE grade ADD “+strs.trim()+” int“;try{ stmt=ConnectServer.con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);stmt.executeUpdate(sql);stmt.close();sql=”select * from grade“;stmt=ConnectServer.con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);rs=stmt.executeQuery(sql);dbmd=rs.getMetaData();for(int i=1;i<=dbmd.getColumnCount();i++)title1.addElement(dbmd.getColumnName(i));dtm=new DefaultTableModel(null,title1);table=new JTable(dtm);}catch(Exception ee){System.out.println(ee);dispose();} initTable();p1=new JScrollPane(table);this.getContentPane().add(p1,”Center“);setTitle(”學生成績信息“);this.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0);} });setSize(600,400);} else if(e.getSource()==b1){ String sql=”select * from grade“;try{ stmt=ConnectServer.con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);rs=stmt.executeQuery(sql);dbmd=rs.getMetaData();for(int i=1;i<=dbmd.getColumnCount();i++)title.addElement(dbmd.getColumnName(i));dtm=new DefaultTableModel(null,title);table=new JTable(dtm);}catch(Exception ee){System.out.println(ee);dispose();} initTable();setTitle(”學生成績?yōu)g覽“);setSize(600,400);} } public static void main(String args[]){ Font font=new Font(”JFrame“,Font.PLAIN,14);Enumeration keys=UIManager.getLookAndFeelDefaults().keys();25

      Java程序設計簡明教程

      while(keys.hasMoreElements()){ Object key=keys.nextElement();if(UIManager.get(key)instanceof Font)UIManager.put(key,font);} if(!ConnectServer.conn(”jdbc:odbc:xsgl“,”sa“,”“)){ JOptionPane.showMessageDialog(null,”數據庫連接不成功“);System.exit(0);} new ex4_3();} }

      上機練習題5 1.編寫GUI程序,制作一個文本文件閱讀器,文件菜單設置打開和退出命令,可以打開本地硬盤上文本文件,并將文件內容顯示到文本框中,文本框不能編輯,退出命令能夠退出程序。

      【解題思路】

      (1)界面設計:一個窗口,窗口中設置一個菜單條,菜單條上設置一個“文件”菜單,菜單中設置“打開”和“退出”菜單項,窗口中放置一個不可編輯的文本框并使其充滿窗口;

      (2)界面實現(xiàn):創(chuàng)建一個類繼承JFrame類,在構造方法中設置菜單條,添加文本框;

      (3)功能設計:使兩個菜單項響應事件,點擊“打開”可將選中的文件內容顯示在文本框中,點擊“退出”可以退出程序;

      (4)功能實現(xiàn):在構造方法中為兩個菜單項注冊ActionListener監(jiān)聽器,用本類實現(xiàn)監(jiān)聽器接口,在實現(xiàn)的actionPerformed()方法中進行判斷,如果事件源是“打開”菜單項,則調出打開文件對話框,獲取選中的文件名,調用另一個顯示文件內容的方法,該方法負責將文件內容用輸入流讀取后顯示在文本框中,如果事件源是“退出”,則退出程序。

      【參考程序】

      //文件Reader.java import java.io.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Reader implements ActionListener{ private JFrame frame;private TextArea textArea;FileDialog fileDialog;public Reader(){//構造方法,完成布局 frame=new JFrame(”文本文件閱讀器“);MenuBar mb=new MenuBar();Menu m1=new Menu(”文件“);MenuItem mi1=new MenuItem(”打開“);mi1.setActionCommand(”打開“);mi1.addActionListener(this);MenuItem mi2=new MenuItem(”退出“);mi2.setActionCommand(”退出“);mi2.addActionListener(this);m1.add(mi1);m1.add(mi2);mb.add(m1);frame.setMenuBar(mb);26

      上機練習題參考答案

      textArea=new TextArea();Container c=frame.getContentPane();c.add(textArea);frame.setSize(500,600);frame.setVisible(true);} public void actionPerformed(ActionEvent e){ if(e.getActionCommand()==”打開“){ //若點擊“打開”,調出文件打開對話框,打開文件 fileDialog=new FileDialog(frame,”打開“,FileDialog.LOAD);fileDialog.setVisible(true);String path=fileDialog.getDirectory();String name=fileDialog.getFile();String file=path+name;openFile(file);} else{ //若點擊“退出”,退出程序 System.exit(1);} } public void openFile(String file){ //打開文件方法,讀取指定文件的內容,并顯示在文本域中 try{ FileReader fr=new FileReader(file);BufferedReader br=new BufferedReader(fr);String s=br.readLine();while(s!=null){ textArea.append(s+”n“);s=br.readLine();} frame.setTitle(file);}catch(FileNotFoundException e1){ System.out.println(”文件沒有找到!“);}catch(IOException e2){ System.out.println(e2.getMessage());} } public static void main(String[] args){ new Reader();} } 2.編制程序,計算表達式“2*4*6+8*10*12+??+26*28*30”的值,并把結果輸出到文件中?!緟⒖汲绦颉?/p>

      //文件名xiti5_2.java import java.io.*;import java.awt.*;import java.applet.Applet;import java.awt.event.*;import javax.swing.*;public class xiti5_2 extends Applet implements ActionListener{ String Savepath;//用來指定文件的路徑。JButton Button1,Button2;JLabel Label1,Label2;int s,i;27

      Java程序設計簡明教程

      public void init(){ this.setSize(400,400);//設置了窗體顯示的大小

      Label1=new JLabel(”計算表達式2*4*6+8*10*12+......+26*28*30的值“,JLabel.CENTER);add(Label1);Label2=new JLabel(” “,JLabel.CENTER);add(Label2);Button1=new JButton(” 計算 “);add(Button1);Button2=new JButton(” 保存 “);add(Button2);Button1.addActionListener(this);Button2.addActionListener(this);this.setSize(400,180);} public void actionPerformed(ActionEvent e){ if(e.getSource()==Button1){ s=0;for(i=2;i<30;){ s=s+i*(i+2)*(i+4);i=i+6;} Label2.setText(” 計算結果為:“+s+” “);} //下面的一段代碼是打開一個文本文件,并顯示在文本框中 if(e.getSource()==Button2){ try{ Label2.setText(” 將結果輸出到c:save.txt文件中“);Savepath=”c:save.txt“;//指定保存文件的路徑

      PrintWriter out=new PrintWriter(new FileWriter(Savepath));out.print(”“+s);//將文本框中的內容寫入指定的文件中 out.close();//關閉文件流,釋放資源 }catch(Exception eee){} } } } 3.編制程序,其功能是:讀入一個順序文件,該文件每條記錄的三個數據項分別是職工姓名、基本工資和獎金,在讀入每條記錄后,將每個職工的基本工資增加百分之十后得到新的數據記錄。

      【參考程序】

      //文件名為:xiti5_3.java import java.io.*;import java.awt.*;import java.applet.Applet;import java.awt.event.*;public class xiti5_3 extends Applet implements ActionListener{ Button Button1,Button2;Label Label1,Label2;TextArea ta;String Openpath;double chenji[]=new double[5];public static int i=0;public static String str[]=new String[5];public void init(){ 28

      上機練習題參考答案

      Button1=new Button(”打開文件“);add(Button1);Button2=new Button(”增加工資“);add(Button2);ta=new TextArea();add(ta);Button1.addActionListener(this);Button2.addActionListener(this);this.setSize(400,200);} public void actionPerformed(ActionEvent e){ if(e.getSource()==Button2){ Openpath=”d:save.txt“;int j;ta.setText(”“);try{ BufferedReader in=new BufferedReader(new FileReader(Openpath));//建立一個BufferedReader流對象 while((Openpath=in.readLine())!=null){//把文件中的內容一行一行地讀出 str[i]=Openpath;i=i+1;} in.close();//關閉文件流,釋放資源 for(j=0;j<5;j++){ str[j].trim();} for(j=0;j<5;j++){ chenji[j]=Integer.valueOf(str[j].toString().substring(15)).intValue();} for(j=0;j<5;j++){ chenji[j]=chenji[j]*(1+0.1);ta.setText(ta.getText()+str[j]+” “+chenji[j]+”n“);} }catch(Exception ee){} } if(e.getSource()==Button1){ ta.setText(”“);Openpath=”d:save.txt“;try{ BufferedReader in=new BufferedReader(new FileReader(Openpath));//建立一個BufferedReader流對象。

      while((Openpath=in.readLine())!=null){ //把文件中的內容一行一行地讀出 ta.setText(ta.getText()+Openpath+”n“);//將讀出的內容顯示在文本框中 } in.close();//關閉文件流,釋放資源

      }catch(Exception ee){ java.lang.System.exit(-1);} } } } 4.編寫程序,實現(xiàn)壓縮、解壓縮Zip文件。【參考程序】

      import java.awt.*;import java.awt.event.*;29

      Java程序設計簡明教程

      import java.io.*;import java.util.*;import java.util.zip.*;import javax.swing.*;public class xiti5_4 extends JFrame implements ActionListener{ JTextArea textarea;JTextField infotip;String doc;long doczipsize=0;public xiti5_4(){ JMenuBar menubar=new JMenuBar();setJMenuBar(menubar);JMenu file=new JMenu(”File“,true);menubar.add(file);JMenuItem neww=new JMenuItem(”New“);neww.addActionListener(this);file.add(neww);JMenuItem open=new JMenuItem(”O(jiān)pen“);open.addActionListener(this);file.add(open);JMenuItem save=new JMenuItem(”Save“);save.addActionListener(this);file.add(save);JMenuItem exit=new JMenuItem(”Exit“);file.add(exit);add(”Center“,textarea=new JTextArea());add(”South“,infotip=new JTextField());this.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0);} });} private void openFile(){ FileDialog dlg=new FileDialog(this,”O(jiān)pen“,FileDialog.LOAD);dlg.setVisible(true);textarea.setText(”“);String filename=dlg.getDirectory()+dlg.getFile();try{ File f=new File(filename);if(!f.exists())return;ZipInputStream zipis=new ZipInputStream(new FileInputStream(f));zipis.getNextEntry();DataInputStream dis=new DataInputStream(zipis);doc=dis.readUTF();dis.close();doczipsize=f.length();showTextandInfo();}catch(IOException ioe){ System.out.println(ioe);} } private void saveFile(){ 30

      上機練習題參考答案

      FileDialog dlg=new FileDialog(this,”Save“,FileDialog.SAVE);dlg.setVisible(true);String filename=dlg.getDirectory()+dlg.getFile();try{ if(!filename.endsWith(”.zip“)){ filename+=”.zip“;} File f=new File(filename);if(!f.exists())f.createNewFile();ZipOutputStream zipos=new ZipOutputStream(new FileOutputStream(f));zipos.setMethod(ZipOutputStream.DEFLATED);zipos.putNextEntry(new ZipEntry(”zip“));DataOutputStream os=new DataOutputStream(zipos);doc=textarea.getText();os.writeUTF(doc);os.close();doczipsize=f.length();showTextandInfo();}catch(IOException ioe){ System.out.println(ioe);} } private void showTextandInfo(){ textarea.replaceRange(doc,0,textarea.getText().length());infotip.setText(”uncompressed size:“+doc.length()+”compressed size:“+doczipsize);} public void actionPerformed(ActionEvent e){ String arg=e.getActionCommand();if(”New“.equals(arg)){ doc=”“;textarea.setText(”“);doczipsize=0;showTextandInfo();} else if(”O(jiān)pen“.equals(arg))openFile();else if(”Save“.equals(arg))saveFile();else if(”exit“.equals(arg)){ dispose();System.out.println(”無此命令“);} } public static void main(String args[]){ xiti5_4 ok=new xiti5_4();ok.setTitle(”zip sample“);ok.setSize(600,300);ok.setVisible(true);} } 31

      Java程序設計簡明教程

      5.編寫程序,從試題文件中抽取Java單選題進行測試練習?!緟⒖汲绦颉?/p>

      import java.io.*;import javax.swing.*;import javax.swing.event.*;import java.awt.event.*;import java.awt.*;import java.util.*;public class xiti5_5 extends JFrame implements ActionListener,ItemListener{ String str[]=new String[7],s;FileReader file;BufferedReader in;JButton restart=new JButton(”重新練習“);JButton next=new JButton(”下一題目“);JButton finish=new JButton(”交卷“);JCheckBox option[]=new JCheckBox[4];JTextField score=new JTextField(10);JTextField question=new JTextField(40);int account=0;xiti5_5(){ for(int i=0;i<4;i++){ option[i]=new JCheckBox();option[i].addItemListener(this);} restart.addActionListener(this);next.addActionListener(this);finish.addActionListener(this);try{ file=new FileReader(”D:java.txt“);in=new BufferedReader(file);}catch(IOException e){} Box boxV=Box.createVerticalBox();JPanel p1=new JPanel();JPanel p2=new JPanel();JPanel p3=new JPanel();JPanel p4=new JPanel();p1.setLayout(new FlowLayout(FlowLayout.LEFT));p1.add(new JLabel(”題目“));p1.add(question);p2.setLayout(new FlowLayout(FlowLayout.LEFT));p2.add(new JLabel(”選擇答案“));for(int i=0;i<4;i++){ p2.add(option[i]);} p3.setLayout(new FlowLayout(FlowLayout.CENTER));p3.add(new JLabel(”您的得分:“));p3.add(score);p4.setLayout(new FlowLayout(FlowLayout.CENTER));p4.add(restart);p4.add(next);p4.add(finish);boxV.add(p1);boxV.add(p2);boxV.add(p3);boxV.add(p4);Container con=getContentPane();con.add(boxV);this.setSize(800,300);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);32

      上機練習題參考答案

      this.validate();reading();} public void reading(){ int i=0;try{ s=in.readLine().trim();if(!(s.startsWith(”end“))){ StringTokenizer tokenizer=new StringTokenizer(s,”#“);while(tokenizer.hasMoreTokens()){ str[i]=tokenizer.nextToken();i++;} question.setText(str[0]);for(int j=1;j<=4;j++){ option[j-1].setLabel(str[j]);} } else if(s.startsWith(”end“)){ question.setText(”考試結束,點擊交卷按鈕查看得分?!?;next.setEnabled(false);in.close();file.close();} }catch(Exception exp){question.setText(”無試題文件“);} } public void actionPerformed(ActionEvent e){ if(e.getSource()==restart){ account=0;next.setEnabled(true);score.setText(account+”分“);try{ file=new FileReader(”D:java.txt“);in=new BufferedReader(file);}catch(IOException ee){} reading();} if(e.getSource()==next){ reading();for(int j=0;j<4;j++){ option[j].setEnabled(true);option[j].setSelected(false);} } if(e.getSource()==finish){ int n=JOptionPane.showConfirmDialog(null,”交卷以后將不能再修改,確實要交卷嗎?“, ”確認對話框“,JOptionPane.YES_NO_OPTION);if(n==JOptionPane.YES_OPTION){ for(int i=0;i<4;i++){ option[i].setEnabled(false);} score.setText(account*10+”分“);restart.setEnabled(false);next.setEnabled(false);33

      Java程序設計簡明教程

      finish.setEnabled(false);} } } public void itemStateChanged(ItemEvent e){ for(int j=0;j<4;j++){ if(option[j].getLabel().equals(str[5])&&option[j].isSelected()){ account++;} } } public static void main(String args[]){ xiti5_5 ET=new xiti5_5();} }

      上機練習題6 1.編制程序,求如下表達式的值。

      M = sin(x)sin(x?y)sin(x?z)+

      sin(y)sin(y?x)(y?z)+

      sin(z)sin(z?x)(z?y)*E

      式中,x,y,z從鍵盤輸入,要求用自定義異常來捕獲異常。E=5,PI=3.14159?!緟⒖汲绦颉?/p>

      import java.awt.event.*;import java.applet.*;import java.awt.*;import java.math.*;public class xiti6_1 extends Applet implements ActionListener{ Label Label1,Label2,Label3,Label4,Label5;TextField Text1,Text2,Text3;int E=5;double PI=3.14159;double shu[]=new double[3];String answerStra;double jishu[]=new double[3];public void init(){ Label1=new Label(”輸入x的值:“);add(Label1);Text1=new TextField(6);add(Text1);Label2=new Label(”輸入y的值:“);add(Label2);Text2=new TextField(6);add(Text2);Label3=new Label(”輸入z的值:“);add(Label3);Text3=new TextField(6);add(Text3);Label4=new Label(” “);add(Label4);34

      上機練習題參考答案

      Label5=new Label(” “);add(Label5);Text1.addActionListener(this);Text2.addActionListener(this);Text3.addActionListener(this);} public void actionPerformed(ActionEvent evt){ try{ shu[0]=Double.valueOf(Text1.getText()).doubleValue();shu[1]=Double.valueOf(Text2.getText()).doubleValue();shu[2]=Double.valueOf(Text3.getText()).doubleValue();Label5.setText(”“+ Result1());}catch(NumberFormatException e){ answerStra=”輸入的必需是數字“;Label4.setText(answerStra);} catch(NumberRangeExcetion ee){ answerStra=ee.getMessage();Label4.setText(answerStra);} repaint();} public double Result1()throws NumberRangeExcetion{ int i;double answer=0;try{ jishu[0]=Math.sin(shu[0])/(Math.sin(shu[0]-shu[1])*Math.sin(shu[0]-shu[2]));jishu[1]=Math.sin(shu[1])/(Math.sin(shu[1]-shu[0])*Math.sin(shu[1]-shu[2]));jishu[2]=Math.sin(shu[2])/(Math.sin(shu[2]-shu[1])*Math.sin(shu[2]-shu[0]))*E;for(i=0;i<3;i++){ answer=jishu[i]+answer;} }catch(ArithmeticException eee){ answerStra=eee.toString();} return answer;} } class NumberRangeExcetion extends Exception{ NumberRangeExcetion(String msg){ super(msg);} }

      2.用繼承Thread類的方法實現(xiàn)一個多線程程序。程序先后啟動三個線程,每個線程首先打印出一條線程創(chuàng)建信息,然后休眠一個隨機時間,最后打印出線程結束信息退出。

      【參考程序】

      //文件xiti6_2.java import java.applet.*;import java.awt.*;import java.awt.event.*;import java.math.*;import javax.swing.*;public class xiti6_2 extends Applet implements ActionListener{ 35

      Java程序設計簡明教程

      JTextArea TextA;JButton Button1;public void init(){ Button1=new JButton(”啟動線程“);add(Button1);TextA=new JTextArea();add(TextA);Button1.addActionListener(this);this.setSize(400,220);} public void actionPerformed(ActionEvent e){ TextA.setText(”創(chuàng)建線程1“+”n“);xiancheng1 aa=new xiancheng1();aa.start();xiancheng2 bb=new xiancheng2();TextA.setText(TextA.getText()+”創(chuàng)建線程2“+”n“);bb.start();xiancheng3 cc=new xiancheng3();TextA.setText(TextA.getText()+”創(chuàng)建線程3“+”n“);cc.start();} class xiancheng1 extends Thread{ public void run(){ while(true){ try{ sleep((int)(Math.random()*1000));TextA.setText(TextA.getText()+”線程1運行結束“+”n“);} catch(InterruptedException e){} catch(Exception v){} } } } class xiancheng2 extends Thread{ public void run(){ while(true){ try{ sleep((int)(Math.random()*1000));TextA.setText(TextA.getText()+”線程2運行結束“+”n“);} catch(InterruptedException ee){} catch(Exception vv){} } } } class xiancheng3 extends Thread{ public void run(){ while(true){ try{ sleep((int)(Math.random()*1000));TextA.setText(TextA.getText()+”線程3運行結束“+”n“);} catch(InterruptedException eee){} 36

      上機練習題參考答案

      catch(Exception vvv){} } } } } 3.編制程序,同時顯示兩個時區(qū)的時鐘,并將時鐘的結果顯示在Fram窗體中。【參考程序】

      //文件xiti6_3.java import java.applet.*;import java.awt.*;import java.awt.event.*;import java.lang.NullPointerException;import java.util.*;import javax.swing.*;public class xiti6_3{ public static void main(String[] args){ JFrameDemo frame=new JFrameDemo();frame.init();frame.show();} } class JFrameDemo extends JFrame implements ActionListener{ JTextArea TextA;Date time;thead thead1;JMenuBar myMenu=new JMenuBar();//建立了一個菜單條。

      JMenuItem[] fileMenuItems={new JMenuItem(”顯示時間“),new JMenuItem(”隱藏時間“),new JMenuItem(”退出“)};JMenu[] menus={new JMenu(”文件“),new JMenu(”編輯“),new JMenu(”幫助“)};String str1,str2;int datB,datA;long yearB,monthB,dataB;long yearA,monthA,dataA;long hoursB,minutesB,secondsB;long hoursA,minutesA,secondsA;public void init(){ for(int i=0;i

      if(e.getSource()==fileMenuItems[0]){ datB=time.getDay();37

      Java程序設計簡明教程

      datA=time.getDay();switch(datB){ case 1:str1=”星期一“;break;case 2:str1=”星期二“;break;case 3:str1=”星期三“;break;case 4:str1=”星期四“;break;case 5:str1=”星期五“;break;case 6:str1=”星期六“;break;default :str1=”星期日“;break;} switch(datA){ case 1:str2=”星期一“;break;case 2:str2=”星期二“;break;case 3:str2=”星期三“;break;case 4:str2=”星期四“;break;case 5:str2=”星期五“;break;case 6:str2=”星期六“;break;default :str2=”星期日“;break;} yearB=time.getYear()+1900;monthB=time.getMonth()+1;dataB=time.getDate();hoursB=time.getHours();minutesB=time.getMinutes();secondsB=time.getSeconds();yearA=time.getYear()+1900;monthA=time.getMonth()+1;dataA=time.getDate();hoursA=time.getHours()+12;if(hoursA>=24){ hoursA=hoursA-24;} if(hoursB>=0 & hoursB<=12){ dataA=time.getDate()-1;} minutesA=time.getMinutes();secondsA=time.getSeconds();thead1=new thead();thead1.start();} //隱藏時間

      if(e.getSource()==fileMenuItems[1]){ TextA.setText(”“);} //退出程序

      if(e.getSource()==fileMenuItems[2]){ java.lang.System.exit(0);} } class thead extends Thread{ public void run(){ while(true){ TextA.setText(”n“+” 北京時間“+” 紐約時間“+”n“+”n“+yearB+”年“+monthB+”月“+dataB+”日

      上機練習題參考答案

      “+str1+” “+yearA+”年“+monthA+”月“+dataA+”日“+str2+”n“);TextA.setText(TextA.getText()+” “+hoursB+”時“+minutesB+”分“+secondsB+”秒“+” “+hoursA+”時“+minutesA+”分“+secondsA+”秒“);try{ sleep(1000);secondsB=secondsB+1;secondsA=secondsA+1;if(secondsB==60){ secondsB=0;minutesB=minutesB+1;} if(secondsA==60){ secondsA=0;minutesA=minutesA+1;} if(minutesB==60){ minutesB=0;hoursB=hoursB+1;} if(minutesA==60){ minutesA=0;hoursA=hoursA+1;} if(hoursB==24){ hoursB=0;dataB=dataB+1;datB=datB+1;} if(hoursA==24){ hoursA=0;dataA=dataA+1;datA=datA+1;} if(datB>7){ datB=1;} if(datA>7){ datA=1;} switch(datB){ case 1:str1=”星期一“;break;case 2:str1=”星期二“;break;case 3:str1=”星期三“;break;case 4:str1=”星期四“;break;case 5:str1=”星期五“;break;case 6:str1=”星期六“;break;default :str1=”星期日“;break;} switch(datA){ case 1:str2=”星期一“;break;case 2:str2=”星期二“;break;case 3:str2=”星期三“;break;case 4:str2=”星期四“;break;

      Java程序設計簡明教程

      case 5:str2=”星期五“;break;case 6:str2=”星期六“;break;default :str2=”星期日“;break;} if(monthB==1||monthB==3||monthB==5||monthB==7||monthB==8||monthB==10||monthB==12){ if(dataB>31){ dataB=0;monthB=monthB+1;} } if(monthB==4||monthB==6||monthB==9||monthB==11){ if(dataB>30){ dataB=0;monthB=monthB+1;} } if(monthB==2){ if(yearB%4!=0||(yearB%100==0 & yearB%400!=0)){ if(dataB>28){ dataB=0;monthB=monthB+1;} } else{ if(dataB>29){ dataB=0;monthB=monthB+1;} } } if(monthA==1||monthA==3||monthA==5||monthA==7||monthA==8||monthA==10||monthA==12){ if(dataA>31){ dataA=0;monthA=monthA+1;} } if(monthA==4||monthA==6||monthA==9||monthA==11){ if(dataA>30){ dataA=0;monthA=monthA+1;} } if(monthA==2){ if(yearA%4!=0||(yearA%100==0 & yearA%400!=0)){ if(dataA>28){ dataA=0;monthA=monthA+1;} } else{ if(dataA>29){ dataA=0;monthA=monthA+1;40

      上機練習題參考答案

      } } } if(monthB>12){ monthB=0;yearB=yearB+1;} if(monthA>12){ monthA=0;yearA=yearA+1;} } catch(InterruptedException e){} } } } } 4.使用異常處理機制和輸入/輸出處理機制編寫一個程序,實現(xiàn)當用戶輸入一個文件名時,判斷這個文件名是否存在,若不存在,允許用戶重新輸入,直到輸入了一個正確的文件名后,則打開這個文件并將文件中的內容輸出到屏幕上。

      【解題思路】

      (1)定義從鍵盤接收數據的標準輸入流對象和文件對象;

      (2)在此文件對象的基礎上建立緩沖文件輸入流,如果文件不存在,通過異常處理機制顯示錯誤的處理結果,并要求重新輸入文件路徑;

      (3)如果輸入的文件路徑正確,使用緩沖文件輸入流對象的方法將文件中的內容讀取出來,并在屏幕上顯示,然后退出整個程序。

      【參考程序】

      //文件xiti6_4.java import java.io.*;public class xiti6_4{ public static void main(String args[]){ File f;BufferedReader br;String str;while(true){ try{ InputStreamReader isr=new InputStreamReader(System.in);BufferedReader br1=new BufferedReader(isr);System.out.print(”請輸入文件的全部路徑:“);str=br1.readLine();f=new File(str);br=new BufferedReader(new FileReader(f));while((str=br.readLine())!=null)System.out.println(str);isr.close();br1.close();break;}catch(IOException e){ System.out.println(”輸入錯誤!請重新輸入:“);} } } 41

      Java程序設計簡明教程

      }

      上機練習題7 1.編制Applet程序,使用Graphics類的常用方法,繪制一面五星紅旗。【參考程序】

      import java.applet.*;import java.awt.*;import java.awt.Graphics;public class Flag extends Applet{ public void paint(Graphics g){ int x1[]={100,105,118,107,112,100,88,93,83,95,100};int y1[]={60,74,74,82,96,87,96,82,74,74,60};int x2[]={135,137,140,137,138,135,132,133,130,133,135};int y2[]={54,58,58,60,64,62,64,60,58,58,54};g.setColor(Color.red);g.fillRect(60,40,250,160);g.setColor(Color.yellow);g.fillPolygon(x1,y1,11);g.fillPolygon(x2,y2,11);g.copyArea(130,54,10,10,10,15);g.copyArea(130,54,10,10,10,30);g.copyArea(130,54,10,10,0,42);} } 2.編制Applet程序,實現(xiàn)一行文字的動畫顯示,即文字跑馬燈。【參考程序】

      import java.awt.*;import java.applet.*;public class ShadowText extends Applet implements Runnable{ private Image img;private Image offI;private Graphics offG;private Thread thread = null;private MediaTracker imageTracker;private int height,width;private String text;private int FontSize;private Font font;private int textcolor, backcolor, shadowcolor;public void init(){ width = this.size().width;height = this.size().height;

      上機練習題參考答案

      String s = new String(getParameter(”Text“));text = new String(”Hello“);if(s!= null)text = s;FontSize = 30;s = new String(getParameter(”FontSize“));if(s!= null)FontSize = Integer.parseInt(s);s = getParameter(”Fore“);textcolor =(s==null)? 0x000000 : Integer.parseInt(s, 16);s = getParameter(”Back“);backcolor =(s==null)? 0x000000 : Integer.parseInt(s, 16);s = getParameter(”shadow“);shadowcolor =(s==null)? 0x000000 : Integer.parseInt(s, 16);this.setBackground(new Color(backcolor));img = createImage(width,height);Graphics temp = img.getGraphics();temp.setColor(new Color(backcolor));temp.fillRect(0,0,width,height);temp.setColor(new Color(shadowcolor));font = new Font(”TimesRoman“,Font.BOLD,FontSize);temp.setFont(font);temp.drawString(text,10,height*3/4);temp.setColor(new Color(textcolor));temp.drawString(text,10-3,height*3/4-3);imageTracker = new MediaTracker(this);imageTracker.addImage(img,0);try{ imageTracker.waitForID(0);} catch(InterruptedException e){} offI = createImage(width,height);offG = offI.getGraphics();} public void start(){ if(thread == null){ thread = new Thread(this);thread.start();} } public void run(){ int x=width;while(thread!= null){ try{ offG.drawImage(img,x,0,this);repaint();thread.sleep(50);}catch(InterruptedException e){} x-=3;if(x <-width){ x = width;} } } 43

      Java程序設計簡明教程

      public void update(Graphics g){ paint(g);} public void paint(Graphics g){ g.drawImage(offI,0,0,this);} } 3.編制Applet程序,實現(xiàn)圖片的水中倒影?!緟⒖汲绦颉?/p>

      //文件Ripple.java import java.awt.*;import java.applet.*;public class Ripple extends Applet implements Runnable{ Thread thread=null;private Graphics g,refraction;private Image image,refimage;private int currentImg;private int imageW=0,imageH=0;private boolean finishLoad=false;private final int frames=12;private String name=”“;public void init(){ String param;param=getParameter(”image“);if(param!=null)name=param;} public void start(){ if(thread==null){ thread=new Thread(this);thread.start();} } public void stop(){ if(thread!=null){ thread.stop();thread=null;} } public void run(){ currentImg=0;g=getGraphics();MediaTracker imageTracker=new MediaTracker(this);image=getImage(getDocumentBase(),name);imageTracker.addImage(image,0);try{ imageTracker.waitForID(0);finishLoad=!imageTracker.isErrorAny();}catch(InterruptedException e){} imageW=image.getWidth(this);imageH=image.getHeight(this);createRipple();repaint();44

      上機練習題參考答案

      while(true){ try{ if(!finishLoad)return;if(refimage!=null){ g.drawImage(refimage,(-currentImg*imageW),imageH,this);g.drawImage(refimage,((frames-currentImg)*imageW),imageH,this);} g.drawImage(image,0,-1,this);if(++currentImg==frames)currentImg=0;thread.sleep(50);}catch(InterruptedException e){} } } public void createRipple(){ Image offI=createImage(imageW,imageH+1);//創(chuàng)建一個緩沖區(qū)圖像 Graphics offG=offI.getGraphics();int phase=0;int x,y;double p;offG.drawImage(image,0,1,this);for(int i=0;i<(imageH>>1);i++){ offG.copyArea(0,i,imageW,1,0,imageH-i);offG.copyArea(0,imageH-1-i,imageW,1,0,-imageH+1+(i<<1));offG.copyArea(0,imageH,imageW,1,0,-1-i);} refimage=createImage((frames+1)*imageW,imageH);refraction=refimage.getGraphics();refraction.drawImage(offI,frames*imageW,0,this);for(phase=0;phase

      Java程序設計簡明教程

      g.drawImage(image,0,-1,this);} } 4.結合圖形用戶界面與事件處理,創(chuàng)建一個日歷GUI程序,要求能夠選擇并更新顯示2007年12個月份中的任意一個月份的具體信息。

      【參考程序】

      //文件Calendar.java import java.applet.Applet;import java.awt.*;import java.util.Date;public class Calendar extends Applet{ static final int TOP=90;static final int HEADER=30;static final int NCELLX=7;static final int CELLSIZE=60;static final int MARGIN=8;static final int FEBRUARY=1;Label yearLabel=new Label(”年份:“);TextField yearTextField=new TextField(”1996“,5);Label monthLabel=new Label(”月份:“);Choice monthChoice=new Choice();Button updateButton=new Button(”更新“);Date now=new Date();Font smallArialFont=new Font(”Arial“,Font.PLAIN,15);Font bigArialFont=new Font(”Arial“,Font.BOLD,30);String days[]={”星期日“,”星期一“,”星期二“,”星期三“,”星期四“,”星期五“,”星期六“};String months[]={”一月“,”二月“,”三月“,”四月“,”五月“,”六月“,”七月“,”八月“,”九月“,”十月“,”十一月“,”十二月“};int DaysInMonth[]={31,28,31,30,31,30,31,31,30,31,30,31};int userMonth;int userYear;public void init(){ setBackground(Color.white);userMonth=now.getMonth();userYear=now.getYear()+1900;yearLabel.setFont(smallArialFont);add(yearLabel);yearTextField.setFont(smallArialFont);yearTextField.setText(String.valueOf(userYear));add(yearTextField);monthLabel.setFont(smallArialFont);add(monthLabel);monthChoice.setFont(smallArialFont);for(int i=0;i<12;i++)monthChoice.addItem(months[i]);monthChoice.select(userMonth);add(monthChoice);updateButton.setFont(smallArialFont);add(updateButton);} public void paint(Graphics g){ FontMetrics fm;int fontAscent;int dayPos;46

      上機練習題參考答案

      int xSize,ySize;int numRows;int xNum,yNum;int numDays;String dayStr;int margin;String caption;fm=g.getFontMetrics();fontAscent=fm.getAscent();dayPos=TOP+(HEADER+fontAscent)/2;xSize=NCELLX * CELLSIZE;g.drawRect(0,TOP,xSize,HEADER);for(int i=0;ixSize){ xNum=CELLSIZE-MARGIN;yNum += CELLSIZE/2;} } g.setFont(bigArialFont);fm=g.getFontMetrics();margin=2 * fm.getDescent();caption=String.valueOf(userYear)+”年“ +months[userMonth];g.drawString(caption,(xSize-fm.stringWidth(caption))/2,TOP-margin);} public boolean action(Event e,Object o){//事件處理 int userYearInt;if(e.target instanceof Button){ if(”更新“.equals((String)o)){ userMonth=monthChoice.getSelectedIndex();userYearInt=Integer.parseInt(yearTextField.getText(),10);if(userYearInt>1581)userYear=userYearInt;repaint();return true;} } return false;} int NumberRowsNeeded(int year,int month){ //返回某年某月需要的行數 int firstDay;int numCells;if(year<1582)return(-1);47

      Java程序設計簡明教程

      if((month<0)||(month>11))return(-1);firstDay=CalcFirstOfMonth(year,month);if((month==FEBRUARY)&&(firstDay==0)&&!IsLeapYear(year))return(4);numCells=firstDay+DaysInMonth[month];if((month==FEBRUARY)&&(IsLeapYear(year)))numCells++;return((numCells <= 35)? 5 : 6);} int CalcFirstOfMonth(int year,int month){//計算某年某月的第一天 int firstDay;int i;if(year<1582)return(-1);if((month<0)||(month>11))return(-1);firstDay=CalcJanuaryFirst(year);for(i=0;iFEBRUARY)&& IsLeapYear(year))firstDay++;return(firstDay%7);} boolean IsLeapYear(int year){ //判某年是否是閏年 if((year%100)==0)return((year%400)==0);return((year%4)==0);} int CalcJanuaryFirst(int year){//計算某年一月份的第一天 if(year<1582)return(-1);return((5+(year-1582)+CalcLeapYears(year))%7);} int CalcLeapYears(int year){ //計算閏年一月份的第一天 int leapYears;int hundreds;int fourHundreds;if(year<1582)return(-1);leapYears=(year-1581)/4;hundreds=(year-1501)/100;leapYears-= hundreds;fourHundreds=(year-1201)/400;leapYears += fourHundreds;return(leapYears);} }

      上機練習題8 1.設計Java Applet程序,實現(xiàn)在圖片上飄雪花的特效?!緟⒖汲绦颉?/p>

      上機練習題參考答案

      import java.applet.Applet;import java.awt.*;import java.util.Random;public class SnowPic extends Applet implements Runnable{ Thread mainThread;Image offScreen,gAlc[];Random rand;int stopFlag,snows,wind,threadSleep,snowSize;int[] snowX,snowY;long stopTime=0;Dimension dim;MediaTracker mt;public SnowPic(){} int getParameter(String s1,int s2){ String s=getParameter(s1);return(s!=null)?Integer.parseInt(s):s2;} int getParameter(String s1,int s2,int max,int min){ String s=getParameter(s1);if(s!=null){ if((s2=Integer.parseInt(s))>max)return max;else if(s2

      Java程序設計簡明教程

      mainThread=new Thread(this);mainThread.start();} } public void stop(){ mainThread=null;} public void run(){ while(mainThread!=null){ try{ Thread.sleep(threadSleep);}catch(InterruptedException _ex){return;} repaint();} } public void drawBackSnow(Graphics g){ g.setColor(Color.white);for(int i=0;i=dim.width)snowX[i]=0;if(snowX[i]<0)snowX[i]=dim.width-1;if(snowY[i]>=dim.height||snowY[i]<0){ snowX[i]=Math.abs(rand.nextInt()%dim.width);snowY[i]=0;} } wind=rand.nextInt()%5-2;} public void paint(Graphics g){ offScreen.getGraphics().setColor(Color.black);offScreen.getGraphics().fillRect(0,0,dim.width,dim.height);offScreen.getGraphics().drawImage(gAlc[0],0,0,this);drawBackSnow(offScreen.getGraphics());g.drawImage(offScreen,0,0,null);} public void update(Graphics g){ paint(g);} } 2.設計一個通訊錄,保存讀者信息。要求:通訊錄中包括一般通訊錄中的基本信息,也需要實現(xiàn)普通的檢索功能。通訊錄寫入文件中。程序執(zhí)行時,需要從文件中導入數據,程序退出后,再將數據保存到文件中。

      【參考程序】

      import javax.swing.*;import java.awt.*;import java.awt.event.*;import javax.swing.event.*;import java.math.*;import java.io.*;import java.util.*;import javax.swing.text.*;50

      第二篇:中國特色社會主義理論體系簡明教程作業(yè)題答案

      緒論 堅定不移地堅持中國特色社會主義理論體系

      第一節(jié) 中國特色社會主義理論體系 是馬克思主義中國化的最新成就

      一、馬克思主義中國化及其兩大理論成果

      馬克思主義中國化是中國共產黨人的偉大創(chuàng)造。一部中國共 產黨的歷史,就是一部馬克思主義中國化的光輝歷史。(一)馬克思主義中國化的涵義

      馬克思主義中國化,就是把馬克思主義基本原理同中國具體 實際和時代特征結合起來,運用馬克思主義的立場、觀點、方法研 究和解決中國革命、建設、改革中的實際問題,堅持和發(fā)展馬克思 主義;就是運用中國人民甚聞樂見的民族語言來闡述馬克思主義 理論,揭示中國革命、建設、改革的規(guī)律,使之成為具有中國風格、中國氣派的馬克思主義?!?二)馬克思主義中國化的必要性-實現(xiàn)馬克思主義中國化,不僅成為奪取中國革命偉大勝利的 根本法寶,而且成為在新的歷史條件下不斷推進中國改革和建設 事業(yè)的根本選擇。首先,實現(xiàn)馬克思主義中國化是馬克思主義的 理論品質決定的。其次,這是馬克思主義理論發(fā)展的實踐證明的。再次,這是我們黨的歷史經驗所揭示的。(三)馬克思主義中國化的兩次歷史性飛躍

      第一次飛躍發(fā)生在新民主主義革命時期并發(fā)展完善于真社會 主義建設初期,中國共產黨人經過反復探索,在總結成功和失敗經

      驗的基礎上,我到了農村包圍城市、最后奪取全國勝利的有中國特 色的革命道路,并在革命勝利后積極探索適合我國國情的社會主 義建設道路,形成被實踐證明了的關于中國革命和建設的正確的理論原則和經驗總結一毛澤東思想。第二次飛躍發(fā)生在黨的十一屆三中全會以后,申國共產黨人在總結我國經驗和研究國際形勢的基礎上,開辟了中國特色社會主義道路,形成了被實踐證明了的關于在中國建設、鞏固和發(fā)展社會主義的正確的理論原則和經驗總結,這就是中國特色社會主義理論體系。

      二、中國特色社會主義理論體系是馬克思主義中國化的最漸成果(一)中國特色社會主義理論體系同馬克思列寧主義、毛澤東

      思想既一脈相承又與時俱迸

      中國特色社會主義理論體系,是科學社會主義基本原則同中

      國實際和時代特征相結合的產物,是同馬克思列寧主義、毛澤東思

      想是一脈相承的,這個”脈“,就包括科學社會主義基本原則。'同 中國特色社會主義理論體系又是與時俱進的;(二)中國特色社會主義理論體系是具有實踐基礎的科學理論

      體系

      中國特色社會主義理論體系的創(chuàng)立和發(fā)展,是以社會主義初

      級階段國情為實踐基礎的。中國特色社會主義理論體系,是在建

      設中國特色社會主義的思想路線、發(fā)展道路、發(fā)展階段、發(fā)展戰(zhàn)略、根本任務、發(fā)展動力、依靠力量、國際戰(zhàn)略、領導力量和根本目的等重大問題的探索中取得的豐碩成果,是貫通哲學、政治經濟學、科學社會主義等領域和覆蓋經濟、政治、科技、教育、文化、民族、軍事、外交、統(tǒng)一戰(zhàn)線、祖國統(tǒng)一、黨的建設等方面的系統(tǒng)的科學理論體系。既堅持了科學社會主義基本原則,又具有鮮明的時代特征和中國特色;既繼承了前人,又創(chuàng)新了內容,開拓了馬克思主義新境界,是深深扎根于中國大地、符合中國實際的當代中國馬克思主義。

      (三)中國特色社會主義理論體系是不斷發(fā)展的開放的理論體

      中國特色社會主義理論體系具有時代開放性。首先,這個理論體系是在以往的實踐過程中不斷發(fā)展的。其次,隨著今后改革開放和現(xiàn)代化建設實踐的發(fā)展,中國特色社會主義理論體系還將得到進一步完善和發(fā)展。再次,申國特色社會主義理論體系并不拒絕而且還要吸收借鑒人類社會所創(chuàng)造的一切文明成果。

      第二節(jié)中國特色社會主義理論體系的形成、發(fā)展和科學內涵

      一、中國特色社會主義理論體系形成的歷史條件

      (一)和平與發(fā)展或為時代主題和當代世界發(fā)展新變化,是中 國特色社會主義理論體系形成的時代背景

      中國特色社會主義理論體系不僅以和平發(fā)展的時代主題作為 重要的立論基礎之不,而且很多重要的政策、思想都是依據這個主 題而提出來的。中國特色社會主義理論體系的內容通篇體現(xiàn)著和平與發(fā)展時代主題的要求。

      (二)當代中國的基本國情即正處于并將長期處于社會主義初 級階段,是申國特色社會主義理論體系形成發(fā)展的現(xiàn)實依據

      中國特色社會主義理論體系就是馬列主義基本原理與當代中 國國情相結合的產物。社會主義初級階段理論的確立,對于中國 特色社會主義理論與實踐都具有非常重要的意義。社會主義初級 階段理論,是中國特色社會主義的邏輯起點,是中國特色社會主義 理論體系的重要內容,中國特色社會主義理論體系的基百,是我們 制窄和執(zhí)行正確的路線和政策的根本依據。

      (三)我國的改革開放和社會主義現(xiàn)代化建設實踐,是中國特 色社會主義理論體系形成的實踐基礎

      改革開放作為一項全新的革命性變革事業(yè),它內在地呼喚和 要求科學理論的產生,并促動了馬克思主義申國化嶄新階段的開 啟。在改革開放和現(xiàn)代化建設的過程中,形成了一系列理論原則、戰(zhàn)略思想和根本指導方針,正確回答了中國社會主義現(xiàn)代化建設 的基本問題,構成了申國特色社會主義理論體系。

      (四)我國社會主義建設和改革的歷史經驗以及其他國家社會 主義興衰成敗的歷史經驗,是中國特色社會主義理論形成的歷史 依據

      我國的社會主義事業(yè)有過勝利發(fā)展的時期,也有過嚴重的曲 折。其他社會主義國家也存在類似的問題。中國特色社會主義理 論體系,正是我們黨站在時代的高度,以馬克思恩格斯列寧的科學 社會主義理論作為思想基礎,在總結我國及其他社會主義國家興 衰成敗的經驗教訓并吸收借鑒人類社會文明成果的基礎上形成和 發(fā)展起來的。

      (五)毛澤東思想是中國特色社會主義理論體系形成的最直接 的理論前提和思想基礎

      從理論起點和認識源頭上來說,申國共產黨人對中國特色社 會主義的探索,對中國特色社會主義理論體系的孕育和創(chuàng)建,是從 以毛澤東為核心的黨的第一代領導集體開始的。以毛澤東為代表 的黨的第一代領導集體就走自己的道路問題進行了長期的探索和 努力,積累了正反兩個方面的重要經驗,提出許多正確的重要思想 和觀點。這些思想和觀點,對于人們加深對社會主義的理解、把握 建設和發(fā)展社會主義規(guī)律發(fā)揮了重要作用,也為中國特色社會主 義理論體系的形成提供了重要的前提和基礎。

      二、中國特色社會主義理論體系的形成私發(fā)展過程(一)命題提出和開創(chuàng)階段

      1982年黨的十二大,鄧小平第一次明確提出建設有中國特色 社會主義的理論命題。經過探索,實踐上取得了舉世矚目的偉大 成就。理論上,黨的十三大報告、黨的十三屆七中全會和黨的十四 大報告都作出一次比一次更豐富的概括。黨的十五大報告將建設 有中國特色社會主義理論命名為鄧小平理論,奠定了中國特色社 會主義的理論基礎,也奠定了中國特色社會主義理論體系的基本 框架,是中國特色社會主義理論體系的開創(chuàng)性成果,標志著中國特 色社會主義理論體系已初步形成。(二)進一步展開和發(fā)展階段

      以江澤民為核心的黨的第三代中央領導集體,高舉鄧小平理

      論偉大旗臶,在深刻認識和準確把握世情、國情、黨情發(fā)展變化的 基礎上,創(chuàng)立”三個代表“重要思想,把中國特色社會主義偉大事業(yè) 成功推進新世紀。黨的十六大把”三個代表“重要思想寫進黨章,同馬列主義、毛澤東思想、鄧小平理論一道確立為我們黨必須長期 堅持的指導思想。進一步發(fā)展了中國特色社會主義,豐富了中國 特色社會主義理論體系的基本內容。(三)最新發(fā)展和完善階段

      以胡錦濤為總書記的黨中央,堅持以鄧小平理論和”三個代 表“重要思想為指導,繼續(xù)推進理論創(chuàng)新和實踐創(chuàng)新,提出了科學 發(fā)展觀等重大戰(zhàn)略思想。便中國特色社會主義理論體系得以進一 步完善。黨的十七大創(chuàng)造性地提出了”中國特色社會主義理論體 系“這個科學概念和科學命題,并對它的內涵做了明確規(guī)定和深刻 闡述。

      三、中國特色社會主義理論體系的科學內涵(一)中國特色社會主義理論體系的重要組成部分

      黨的十七大明確指出,中國特色社會主義理論體系,就是包括 鄧小平理論、”三個代表“重要思想以及科學發(fā)展觀等重大戰(zhàn)略思 想在內的科學理論體系。其中:鄧小平理論是申國特色社會主義 理論體系的開創(chuàng)之作,是最基礎的重要組成部分?!比齻€代表“重 要思想是中國特色社會主義理論體系承上啟下的極為重要的組成 部分??茖W發(fā)展觀等重大戰(zhàn)略思想是中國特色社會主義理論體系 的重要創(chuàng)新成果。

      (二)中國特色社會主義理論體系的基本內容

      中國特色社會主義理論體系的基本內容包括:社會主義初級 階段理論,社會主義本質理論,社會主義發(fā)展動力理論,社會主義 改革開放理論,社會主義現(xiàn)代化建設理論,社會主義市場經濟理 論,社會主義民主法治理論,社會主義思想文化建設理論,社會主 義和諧社會理論,社會主義科學發(fā)展理論,軍隊現(xiàn)代化和國防建設 理論,”一國兩制“和祖國和平統(tǒng)一理論,社會主義領導力量和依靠 力量理論,馬克思主義執(zhí)政黨建設理論等。這些基本理論,涵蓋了 經濟、政治、文化、社會、對外關系和黨的建設等多領域內的有關理 論原理和原則,構成了中國特色社會主義理論體系最基本、最核心 的內容,也集中表現(xiàn)了中國特色社會主義在理論上對科學社會主 義的創(chuàng)新和發(fā)展。

      第三節(jié) 堅持中國特色社會主義理論體系不動搖

      一、高舉中國特色社會主義偉大旗臶,必須堅持和發(fā)展中國特 色社會主義理論體系

      (一)堅持和發(fā)展中國特色社會主義理論體系,是在新世紀新 階段推動我國發(fā)展的迫切需要

      當今世界正處在大變革大調整之中,我國發(fā)展既面臨著前所 未有的機遇,也面對前所未有的挑戰(zhàn)。從國內看,經過30年的改 革開放和社會主義現(xiàn)代化建設,我國的經濟實力、綜合國力、人民 生活水平都有了顯著提高。在新的歷史起點上,面對全面建設小 康社會的艱巨任務,面對中國特色社會主義發(fā)展的嶄新實踐,我們

      要奮力開拓中國特色社會主義更為廣闊的發(fā)展前景,就必須用中 國特色社會主義理論體系統(tǒng)一思想、凝聚力量,毫不動搖地堅持和 發(fā)展中國特色社會主義。

      (二)堅持和發(fā)展中國特色社會主義理論體系,是堅持和發(fā)展 馬克思主義的必然要求

      申國特色社會主義理論體系在馬克思主義和社會主義發(fā)展史 上具有極其重要的歷史地位。中國特色社會主義理論體系的重大 意義就在于,它首次比較系統(tǒng)地回答了像中國這樣經濟文化比較 落后的國家在建立社會主義制度以后,怎樣建設、鞏固和發(fā)展社會 主義的一系列重大問題,從而在這個難題上取得了歷史性的突破。這是我們黨對世界社會主義運動的一大貢獻。

      (三)堅持和發(fā)展中國特色社會主義理論體系,是中華民族實 現(xiàn)偉大復興的根本要求

      中國特色社會主義理論體系是我們黨繼往開來、與時俱進,團 結帶領全國各族人民沿著中國特色社會主義道路實現(xiàn)中華民族偉 大復興唯一正確的理論。這個理論體系既體現(xiàn)了中國建設和發(fā)展 社會主義的特殊性,又必然會對世界社會主義和人類進步事業(yè)產 生廣泛而深遠的影響。

      二、把深入學習貫徹申國特色社會主義理論體系放在頭等重 要地位

      (一)堅持用中國特色社會主義理論體系武裝頭腦

      全面把握中國特色社會主義理論體系,深刻領會中國特色社

      會主義理論體系的根本立場、基本觀點、科學方法,著力從世界觀 和方法論上提高馬克思主義理論水平和認識世界、改造世界的能 力,努力做到認識上有新提高、思想上有新收獲。增強堅持和發(fā)展 中國特色社會主義理論體系的自覺性和堅定性,進一步在武裝頭 腦、指導實踐、推動工作上下功夫,不斷提高全黨的思想理論水平,不斷夯實全國各族人民團結奮斗的共同思想基礎,充分發(fā)揮科學 理論的指導作用,在真學、真懂、真信、真用這”四真“上下功夫。(二)弘揚理論聯(lián)系實際的馬克思主義學風

      理論的活力植根于實踐,學習的目的全在于運用。學習申國 特色社會主義理論體系,必須同黨帶領人民進行的發(fā)展申國特色 社會主義的生動實踐緊密結合起來,同推進改革發(fā)展穩(wěn)定各項工 作的實際緊密結合起來,同黨員、干部改造客觀世界和主觀世界的 實際緊密結合起來,堅持用中國特色社會主義理論體系研究新情 況、解決新問題,努力做到學以致用、用以促學、學用相長。(三)堅持求實與創(chuàng)新、堅持和發(fā)展相結合 〃

      要始終堅持解放思想、實事求是、與時俱進,緊密結合新的時 代條件,在豐富實踐的基礎上大膽探索,在科學認識的前提下勇于 創(chuàng)新,不斷有所發(fā)現(xiàn)、有所創(chuàng)造、有所前進,不斷深化對共產黨執(zhí)政 規(guī)律、社會主義建設規(guī)律、人類社會發(fā)展規(guī)律的認識,吸收借鑒人 類社會所創(chuàng)造的一切文明成果,大力推進中國特色社會主義理論 體系大眾化。

      三、學習重點

      工確理解中國特色社會主義理論體系是馬克思主義中國化 的最漸成果。

      2正確把握中國特色社會主義理論體系的科學內涵。3堅持中國特色社會主義理論體系不動搖。

      第一章 鄧小平理論基本問題

      一、目的要求

      通過本章的學習,首要的是要搞清楚”什么是社會主義、怎樣 建設社會主義“,這是中國特色社會主義理論貫穿始終的根本間 題。鄧小平在深刻總結歷史經驗的基礎上,緊緊抓住這個首要的 根本問題,深刻揭示了社會主義的本質,系統(tǒng)回答了在中國這樣一 個經濟文化落后的國家如何建設、鞏固和發(fā)展社會主義的一系列 基本問題,從而把對社會主義的認識和實踐提高到了新的科學水平。

      二、學習重點

      1、鄧小平社會主義本質論的特點。

      2、走自己的路,建設中國特色社會主義

      三、內容提要

      第一節(jié) 搞社會主義,必須首先搞清楚 ”什么是社會主義、怎樣建設社會主義“

      一、我們最重要的經驗教訓

      1、過去在什么是社會主義這個問題上有”不同理解“,正是這 種不同理解導致了長期忽視生產力的發(fā)展。

      2、在什么是社會主義這樣的問題上也要解放思想。

      3、過去我們對什么是社會主義的認識上”不是完全清醒的“或 ”沒有完全搞清楚“。

      4、什么是社會主義,怎樣建設社會主義,”還在摸索之中“。

      5、我們雖然搞了社會主義但不夠格。

      在勇于承認過去我們長期沒有摘清楚”什么是社會主義、怎樣 建設社會主義“的前提下,我們黨和鄧小平進一步認識到,搞清楚 什么是社會主義、怎樣建設社會主義是最重要的經驗教訓。

      二、傳統(tǒng)社會主義關于”什么是社會主義、怎樣建設社會主義“ 的理論與實踐及其主要教訓

      社會主義從空想發(fā)展到科學,是馬克思恩格斯的偉大功績。(1)將來代替資本主義的共產主義社會必須建立在生產力高度發(fā) 達的基礎之上。(2共產主義社會劃分為兩個發(fā)展階段,即低級階 段(或第一階段)和高級階段。(3)共產主義社會兩個階段實行生 產資料的公有制。(4)共產主義社會的低級階段實行按勞分配的 原則。(5)社會對生產和再生產過程進行有計劃的調節(jié),徹底消除 了資本主義生產的無政府狀態(tài),在自覺運用客觀經濟規(guī)律的基礎 上,保證國民經濟比資本主義經濟以更快的速度向前發(fā)展。

      列寧曾經設想不立即消滅資本主義和小生產,而是建立由國 家控制的生產和分配制度,通過國家資本主義走向社會主義。

      列寧的新經濟政策對后來的社會主義實踐特別是對我國的改 革開放產生了重大影響,這是不爭的事實。

      斯大林在領導蘇聯(lián)社會主義建設的過程中,對什么是社會主 義、怎樣建設社會主義有獨特見解,社會主義建設也取得了重大成 就。但他對社會主義的認識也有嚴重的錯誤,在實踐中也暴露出 嚴重的弊端。

      第二節(jié) 什么是社會主義

      一、改革開放以前黨和毛澤東對什么是社會主義的認識

      在領導社會主義建設的過程申,毛澤東和我們黨逐步形成了 對社會主義的相對固定的認識。其主要內容是: 第一,生產資料的全民所有制;第二,計劃經濟;第三,按勞分 配;第四,社會主義社會是階級斗爭激烈進行著的社會。

      二、鄧小平的社會主義本質論

      ”社會主義的本質,是解放生產力,發(fā)展生產力,消滅剝削,消 除兩極分化,最終達到共同富裕?!? 縱觀鄧小平對社會主義認識的過程,不難發(fā)現(xiàn),鄧小平的社會 主義本質論從目的和目標層次上揭示了什么是社會主義。首先,鄧小平把生產力的解放和發(fā)展放在了社會主義本質的首要符合馬克思主義基本原理和社會主義建設的實際。其次,”消滅剝

      削,消除兩極分化,最終達到共同富?!?,是鄧小平社會主義本質論 的另一層含義,明確了社會主義的根本目標,三、鄧小平社會主義本質論的突出特點

      鄧小平的社會主義本質論與以往人們對社會主義的認識相 比,具有十分鮮明的特點:

      第一,在目的和目標的層次上認識社會主義;第二,在動態(tài)中 把握社會主義;第三,在人民群眾的生活中體現(xiàn)社會主義本質。

      鄧小平的社會主義本質論把我們黨對社會主義的認識提高到 了新的科學水平;正如黨的十五大報告所指出的:”鄧小平理論堅 持科學社會主義理論和實踐的基本成果,抓住什么是社會主義、怎 樣建設社會主義這個根本問題,深刻揭示社會主義的本質,把對社 會主義的認識提高到新的科學水平。新時期的思想解放,關鍵就 是在這個問題上的思想解放?!?第三節(jié) 走自己的路,建設中國特色社會主義

      一、建設中國特色社會主義,必須堅持走自己的路

      一切從中國的實際出發(fā),走自己的路,是中國革命之所以取得 勝利的重要原因。

      走自己的路,建設中國特色社會主義,首先要求我們堅持解放 思想、實事求是的思想路線,以科學的態(tài)度對待馬克思主義,不照 抄照搬經典作家的個別結論,反對教條主義。

      走自己的路,建設中國特色社會主義,還要求我們一切從我 國的客觀實際出發(fā),不照抄照搬別國的經驗或模式。

      二、建設中國特色社會主義,必須認清國情,從我國社會主義 初級階段的現(xiàn)實出發(fā)

      建設中國特色社會主義,制定正確的路線、綱領和方針政策,必須對現(xiàn)實國情和所處的歷史階段做出切合實際的科學判斷。實 踐證明,正確認識國情和社會主義的發(fā)展階段,是建設中國特色社

      會主義〃的根本問題。過去我們在這個問題上屢屢失誤,甚至整個 世界社會主義運動在這個問題上同樣屢屢失誤,總是超越階段,過 高估計生產力發(fā)展水平和國家的現(xiàn)實力量,總是制定不切實際的 目標,其思想根源同樣在于長期形成的”革命、斗爭“思維。

      三、建設中國特色社會主義,必須堅持以經濟建設為申心,堅 持改革開放和四項基本原則

      第一,堅持以經濟建設為中心;第二,堅持改革開放;第三,堅 持四項基本原則。”一個中心、兩個基本點“是一個整體,相互依 存,相輔相成。如果不堅持以經濟建設為中心,大力發(fā)展生產力,社會主義制度就有喪失物質基礎的危險,四項基本原則也難以堅 持下去;如果不堅持改革開放,就不可能解放和發(fā)展生產力,建立 起充滿生機和活力的社會主義市場經濟體制,社會主義就沒有出 路;四項基本原則是經濟建設和改革開放的根本政治保證,我們的 經濟建設和改革開放如果脫離了四項基本原則,就會走到邪路上 去,或者出現(xiàn)**,使經濟建設和改革開放失去穩(wěn)定的政治環(huán)境。將”一個中心、兩個基本點“統(tǒng)一于中國特色社會主義建設的實踐,毫不動搖地堅持下去,是現(xiàn)代化建設成功的根本保證。

      四、初步解決中國特色社會主義建設中的一系列重大問題

      在社會主義的根本任務問題上,指出社會主義的本質是解放 生產力,發(fā)展生產力,消滅剝削,消除兩極分化,最終達到共同富 裕。

      在社會主義的發(fā)展動力問題上,強調改革也是一場革命,也是

      解放生產力,是中國現(xiàn)代化的必由之路。

      在社會主義建設的外部條件問題上,指出和平與發(fā)展是當代 世界兩大主題,必須堅持獨立自主的和平外交政策,為我國現(xiàn)代化 建設爭取有利的國際環(huán)境。

      在社會主義建設的政治保證問題上,強調堅持社會主義道路、堅持人民民主專政、堅持中國共產黨的領導、堅持馬克思列寧主義 毛澤東思想。

      在社會主義建設的戰(zhàn)略步驟問題上,提出基本實現(xiàn)現(xiàn)代化分 三步走的戰(zhàn)略目標。

      在社會主義的領導力量和依靠力量問題上,強調作為工人階 級先鋒隊的中國共產黨是社會主義事業(yè)的領導核心,黨必須適應 改革開放和現(xiàn)代化建設的需要,不斷改善和加強對各方面工作的 領導,改善和加強自身建設。必須依靠廣大工人、農民、知識分子,必須依靠各民族人民的團結,必須依靠全體社會主義勞動者、擁護 社會主義的愛國者和擁護祖國統(tǒng)一的愛國者的最廣泛的統(tǒng)一戰(zhàn) 線。黨領導的人民軍隊是社會主義祖國的保衛(wèi)者和建設社會主義的重要力量。

      在祖國統(tǒng)一的問題上,提出”一個國家、兩種制度“的創(chuàng)造性構 想。

      第二章〃 三個代表”重要思想基本問題

      一、目的要求

      通過對本章的學習,使學員深刻認識到“三個代表。重要思想 是中國特色社會主義理論體系的重要組成部分。在實際工作中,正確把握先進生產力的發(fā)展要求,中國先進文化的前進方向和最 廣大人民的根本利益;深刻理解”三個代表“的要求,是我們黨保持 先進性、始終成為中國特色社會主義堅強領導核心的基本要求,與 堅持馬克思列寧主義、毛澤東思想、鄧小平理論,堅持黨的工人階 級先鋒隊性質和全心全意為人民服務的宗旨是一致的。

      二、學習重點

      1、”三個代表“重要思想產生的時代背景。

      2、如何看待”三個代表“重要思想的歷史地位。

      三、內容提要

      作為理論創(chuàng)新重大成果的”三個代表“重要思想是是我們黨的 立黨之本、執(zhí)政之基、力量之源,是建設中國特色社會主義偉大事 業(yè)的指導思想。認真學習”三個代表“重要思想,深刻領會其豐富 內涵,具有重大的理論意義和實踐意義。

      第一節(jié) ”三個代表“重要思想形成的時代背景 一、三個代表重要思想的形成的國際背景

      (一)世紀之交,世界社會主義運動遭受重大挫折。從20世紀 80年代開始,先是東歐六個社會主義國家的共產黨失去執(zhí)政地位,放棄社會主義制度,后來蘇聯(lián)共產黨被自己的總書記宣布解散,導 致蘇聯(lián)解體,社會主義陣地丟失。社會主義運動道受了十月革命 以來甚至可以說是(共產黨宣言)發(fā)表以來最嚴重的挫折。

      (二)20世紀90年代以來,世界上許多曾經功勛卓著的大黨、老黨失去執(zhí)政地位或者遇到嚴重困難,給我們以深刻的啟迪。這 些政黨的教訓極其深刻,必須引起我們黨的高度重視。

      (三)20世紀末國際形勢發(fā)生重大轉折,給黨的思想理論提出 新的要求。首先,經濟全球化方興未艾。其次,政治多極化趨勢更 加明顯。第三,文化的多樣化日二,三個代表”重要思想提出的國內背景

      (一)我們黨面對著新的更加復雜的國內形勢。在全面建設小 康社會,向基本實現(xiàn)現(xiàn)代化目標邁進過程中,我們將遇到一系列重 大難題。安全問題、公平間題、職工下崗問題、農民增收問題,都會 給社會帶來不安定因素;文化的多樣化日益發(fā)展,隨著社會經濟成 分、組織形式、就業(yè)方式、利益關系和分配方式日益多樣化,人們的 思想意識也會發(fā)生相應的變化,信仰的多樣化,社會道德的多樣 化;甚至形形色色的偽科學、反文化都會有所發(fā)展,意識形態(tài)矛盾 和文化沖突將不可避免。如何在改革開放和社會發(fā)展的新階段 中,正確處理和解決各種矛盾和問題,合理地協(xié)調好人民內部的利 益關系,度過這個社會發(fā)展的“高風險期。,是對黨的執(zhí)政水平和治 國能力的新考驗。

      (二)我們黨面臨更加艱巨的任務。在新世紀,我國的現(xiàn)代化 建設面臨著新的奮斗目標。到建國l仍周年時,基本實現(xiàn)現(xiàn)代化,建成富強、民主、文明的社會主義國家。實現(xiàn)祖國的完全統(tǒng)「,是 全國各族人民的共同心愿,使申華民族夢寐以求的理想。解決臺

      灣問題,實現(xiàn)祖國完全統(tǒng)一,更加突出地擺在新世紀的中國共產黨 人面前。

      (三)新世紀黨的建設任重道遠。進大新時期,黨員隊伍的狀 況發(fā)生了許多新變化;黨的階級基礎和群眾基礎發(fā)生了新的變化;黨的千部隊伍中出現(xiàn)了許多不容忽視的錯誤傾向。

      第二節(jié) ”三個代表“重要思想的主要內容

      一、代表中國先進生產力的發(fā)展要求

      (一)生產力與先進生產力。生產力是一個不斷發(fā)展、不斷創(chuàng) 新的過程,生產力的發(fā)展就是新的先進的社會生產力不斷代替舊 的、落后的社會生產力,使生產力在質的方面和量的方面在新的基 礎上達到有機的和諧統(tǒng)一,并在現(xiàn)實的社會生產中發(fā)揮其最佳整 體性功能,為人類更加有效地改造客觀世界服務。先進的社會生 產力,一般是指勞動者具有較高科學技術素質和文化素質,勞動資 料和勞動對象中凝結著當代先進的科學技術并與當代先進科學技 術密切結合,勞動資料和勞動對象的發(fā)展與科學技術的發(fā)展相互 協(xié)調一致。

      (二)先進生產力的發(fā)展要求。先進生產力的發(fā)展要求,是指 對影響和制約先進生產力發(fā)展的各種社會條件和社會環(huán)境的要 求。先進生產力的發(fā)展首先要求其外部條件要尊重生產力發(fā)展的 內在規(guī)律;先進生產力的發(fā)展要求社會生產關系要與其相適應;先 進生產力的發(fā)展要求先進的政治制度、政治體制和先進的文化與 其相適應;先進生產力的發(fā)展要求穩(wěn)定的國內國際環(huán)境。

      (三)代表先進生產力的發(fā)展要求,大力發(fā)展社會生產力。第 一,代表先進生產力的發(fā)展要求,必須便會黨牢固樹立改革和發(fā)展 的觀點;第二,不斷提高勞動者的素質是我們黨代表先進生產力發(fā) 展要求必須履行的第一要務;第三,全面貫徹”科學技術是第一生 產力“的思想,大力發(fā)展科學技術,是我們黨代表中國先進生產力 發(fā)展要求必須履行的重要職責;第四,不斷完善我國的生產方式,使其更加適應先進生產力的發(fā)展要求。二,代表中國先進文化的前進方向

      (一)文化的概念和社會歷史作用。廣義的文化,就是人類所 創(chuàng)造出來的物質財富和精神財富的總和,更簡單地說就是與自然 相對應的人的所有創(chuàng)造物。狹義的文化,就是人在精神領域的創(chuàng) 造物,即精神文化,它包括科育、教學、哲學、宗教、文學藝術、道德

      倫理、價值觀念等等。先進文化通過這種對人的再設計和再塑造,調節(jié)著和干預著人的思想和行為,培育著和激發(fā)著人內在的力量,從而不斷實現(xiàn)人的自我超越,極大地提高了人創(chuàng)造物質財富和精 神財富的能力。也就從這個意義上說,文化是一個國家最重要的 資源之一,是綜合國力的重要標志。

      (二)當代中國的先進文化就是有中國特色社會主義的文化。先進文化應該具有以下基本特征:一是科學性;二是時代性;三是 民族性;四是開放性;五是群眾性;六是創(chuàng)新性。

      當代中國的先進文化是一個龐大的、復雜的體系而且處于砷

      態(tài)的發(fā)展之中。認知識與價值結合的層面看,當代中國的先進女 化,是馬克思主義、列寧主義、毛譯東思想和鄧小平理論、”三個代 表“重要思想的科學體系,特別是馬克思主義與當代中國實際相結 合所產生的鄧小平理論和”三個代表“重要思想的科學體系;從價 值的層面看,當代中國的先進文化,是與社會主義和社會主義現(xiàn)代 化相適應的先進的觀念、倫理、道德,是與社會主義市場經濟相適 應的先進的道德和意識等;從何識的層面看,當代中國的先進文 化,是先進的科學思想、理論,包括自然科學的成果和社會科學的 成果。綜合起來看,當代中國的先進文化,實際上就是有中國特色 社會主義的文化。

      (三)代表中國先進文化的前進方向,努力發(fā)展有中國特色社 會主義文化,建設社會主義精神文明。發(fā)展社會主義文化的根本 任務,是培養(yǎng)二代又一代有理想、有道德、有文化、有紀律的公民。要堅持以科學的理論武裝人,以正確的輿論引導人,以高尚的精神 塑造人,以優(yōu)秀的作品鼓舞人;堅持和鞏固馬克思主義的指導地 位。發(fā)展社會主義文化,建設社會主義精神文明,必須堅持馬克思

      主義的指導地位,〃立足現(xiàn)實,基礎中華民族優(yōu)秀文化傳統(tǒng),博采各

      國文化之長進行綜合創(chuàng)新。

      三、代表中國最廣大人民的根本利益

      (一)代表中國最廣大人民的根本利益是”三個代表“乃至黨的 全部工作的出發(fā)點和腳點。馬克思主義特別強調人民群眾對推動 歷史前進的重要作用,認為,人民,只有人民,才是創(chuàng)造世界歷史的

      根本動力。八十年來我們黨所創(chuàng)立的一切理論,所采取的一切路 線、方針、政策,都是為了不斷實現(xiàn)好、維護好和發(fā)展好最廣大人民 的利益,始終保持黨同人民群眾的血肉聯(lián)系。如果不是這樣,黨就 無法得到人民的信任、擁護和支持。

      (二)代表人民的根本利益,始終保持黨同人民群眾的血肉聯(lián) 系,是我們黨的最大政治優(yōu)勢。我們黨的最大政治優(yōu)勢是善于組 織群眾、宣傳群眾、聯(lián)系群眾,黨執(zhí)政后的最大危險是脫離群眾。在任何時候任何情況下,都必須堅持黨的群眾工作路線,把實現(xiàn)人 民群眾的利益作為我們一切工作的出發(fā)點和歸宿。保持和加強黨 與人民群眾的血肉聯(lián)系,使黨得到人民群眾的擁護和支持,仍是保 持黨的生命力和獲得力量源泉的關鍵所在。

      (三)把代表人民的根本利益體現(xiàn)在黨和全體黨員的全部工作 中。代表人民的根本利益要求我們所有的政策措施和工作,都應 該正確反映并有利于妥善處理各種利益關系,都應認真考慮和兼 顧不同階層、不同方面群眾的利益。我們黨始終堅持人民的利益 高于一切。黨除了最廣大人民的利益,沒有自己特殊的利益。黨 的一切工作,必須以最廣大人民的根本利益為最高標準。

      第三節(jié) ”三個代表“重要思想的

      歷史地位和指導意義

      一、是馬克思主義在中國發(fā)展的最新成果

      〃第一,”三個代表“重要思想堅持馬克思主義的世界觀和方法 論,創(chuàng)造性地運用它們分析當今世界和申國的實際,為我們在新的

      時代條件下運用辯證唯物主義和歷史唯物主義認識和把握社會發(fā) 展規(guī)律、更好地推進我國社會主義事業(yè)作出了新的理論概括。

      第二,”三個代表“重要思想堅持黨的最高綱領和最低綱領的 統(tǒng)一,為我們堅持馬克思主義的最終奮斗目標、根據實際制定和實 施推動我國社會主義發(fā)展的科學戰(zhàn)略提供了新的理論基礎。

      第三,”三個代表“重要思想堅持馬克思主義關于無產階級政 黨必須植根于人民的政治立場,注重從人民群眾的實踐中吸取養(yǎng) 分,為我們堅持馬克思主義的群眾觀點、不斷實現(xiàn)最廣大人民的根 本利益提出了新的理論要求。

      第四,”三個代表“重要思想堅持馬克思主義與時俱迸的理論 品質,體現(xiàn)了馬克思主義理論創(chuàng)新的巨大勇氣,為我們堅持馬克思 主義基本原理、不斷在實踐中推進理論創(chuàng)新打開了新的理論視野。

      二、是黨必須長期堅持的指導思想

      (一)實現(xiàn)全面建設小康社會宏偉目標的根本指針。(二)推進社會主義自我完善和發(fā)展的重要思想指南。(三)加強和改善黨的建設的強大理論武器。

      第三章 科學發(fā)展觀基本問題

      一、目的要求

      通過本章的學習,了解發(fā)展觀是關于發(fā)展的本質、目的、內涵 的根本觀點和總體看法,發(fā)展是人類社會永恒的法則。正確把握 科學發(fā)展觀的歷史地位、時代背景、科學內涵以及深入貫徹落實科 學發(fā)展觀的基本要求四個方面的內容。

      三、學習重點

      1、正確認識科學發(fā)展觀的歷史地位?!?/p>

      2、科學發(fā)展觀提出的時代背景和依據。

      3、全面把握科學發(fā)展觀的科學內涵。

      4、正確把握深入貫徹落實科學發(fā)展觀的基本要求。

      三、內容提要

      第一節(jié) 深刻認識科學發(fā)展觀的歷史地位

      一、科學發(fā)展觀是對黨的三代申央領導集體關干發(fā)展的重要 思想的繼承和發(fā)展

      毛澤東是申國社會主義發(fā)展道路的開拓者,也是新中國社會 發(fā)展理論的奠基人。

      鄧小平的發(fā)展觀與馬克思主義、毛澤東思想是一脈相承的,這 突出的表現(xiàn)在它同樣堅持社會主義的價值取向,堅持以”四項基本 原則“為中國社會發(fā)展和現(xiàn)代化建設的政治前提。

      以江澤民為核心的我黨第三代領導集體創(chuàng)造性地發(fā)展了社會 主義發(fā)展理論,形成了江澤民社會協(xié)調發(fā)展與人的全面發(fā)展思想。

      二、科學發(fā)展觀是馬克思主義關千發(fā)展的世界觀和方法論的 集中體現(xiàn)

      馬克思主義發(fā)展觀是全面的辯證的發(fā)展觀。

      (一)人類社會是處在不斷變化和發(fā)展中的有機整體和復雜系 統(tǒng)

      (二)馬克思恩格斯把人類社會的發(fā)展看作是自然史的過程,從而創(chuàng)立了真正科學的發(fā)展觀

      (三)馬克,思〃恩格斯在對資本主義社會片面發(fā)展的批判中得出 結論,認為未來的共產主義社會應該是全面發(fā)展的社會(四)把人的自由而全面的發(fā)展放在突出的位臵

      (五)恩格斯關于人類社會與生態(tài)環(huán)境協(xié)調發(fā)展的思想是馬克 思主義發(fā)展理論的一個重要組成部分

      三、科學發(fā)展觀是我國經濟社會發(fā)展的宜要指導方針,是發(fā)展 中國特色社會主義必須堅持和貫徹的重大戰(zhàn)略思想

      (一)樹立和落實科學發(fā)展觀是全面建設小康社會的必然要求(二)樹立和落實科學發(fā)展觀是妥善應對我國經濟社會發(fā)展關 鍵時期可能遇到的各種風險和挑戰(zhàn)的正確選擇

      (三)樹立和落實科學發(fā)展觀是提高黨的執(zhí)政能力和執(zhí)政水平的迫切需要

      第二節(jié)

      深刻認識科學發(fā)展觀提出的 時代背景和實踐依據

      一、立足我國社會主義初級階段的基本國情

      要制定正確的革命和建設的路線、綱領和方針政策,就必須對 現(xiàn)實國情和歷史進程做出切合實際的科學判斷。而對于領導我國 社會主義建設的執(zhí)政的申國共產黨來說,最大的國情就是我國社 會主義的發(fā)展階段。

      二、〃總結我國發(fā)展的實踐

      1、必須始終堅持經濟建設這個中心不動搖。

      2、必須始終堅持經濟發(fā)展是為了滿足人民群眾的需要。

      3、必須大力推進經濟體制和經濟增長方式的根本性轉變。

      4、必須努力實現(xiàn)國民經濟持續(xù)快速協(xié)調健康發(fā)展。

      三、吸取了世界各國在發(fā)展進程中的經驗教訓

      第三節(jié) 深刻認識科學發(fā)展觀的科學內涵

      一、發(fā)展是科學發(fā)展觀的第一要義

      二、堅持以人為本是科學發(fā)展觀的本質和核心

      三、”全面、協(xié)謂、可持續(xù)“是科學發(fā)展觀的基本要求

      四、統(tǒng)籌兼顧是科學發(fā)展觀的根本方法

      第四節(jié) 深入貫徹落實科學發(fā)展觀

      一、要求我們始終堅持”一個中心、兩個基本點"的基本路線

      二、要求我們積極構建社會主義和諧社會

      三、要求我們繼續(xù)深化改革開放

      四、要求我們切實加強和改進黨的建設

      第三篇:Java上機實驗報告

      Homework3實驗報告

      一、實驗目的與要求

      1、掌握Java中類和接口的基本知識;

      2、繼承的基本知識;

      3、集合的基本操作

      二、實驗內容 1.PIMCollection 類

      創(chuàng)建一個可以管理PIMEntities實體的集合,該類實現(xiàn)了Collection接口,且必須實現(xiàn)了以下方法:(1).getNotes();返回PIMCollection中所有的PIMNote項,如果不包含PIMNote項,則返回一個空集合

      (2).getTodos();返回集合PIMCollection中所有的PIMTodo項,如果不包含PIMTodo項,則返回一個空集合

      (3).getAppointment();返回集合PIMCollection中所有的PIMAppointment項,如果不包含PIMAppointment項。則返回一個空集合(4).getContacts();返回結合PIMCollection中所有的PIMContact項,如果不包含PIMContact項,則返回一個空集合

      (5).getItemsForDate(Date d);返回集合PIMCollection中所有與d匹配的PIMEntities,如果沒有匹配d的項,則返回一個空集合

      (只有PIMTodo和PIMAppointment項,因為PIMNote和PIMContact跟日期沒有關系)。

      2.TestPIMCollection類(自己的測試類)

      向PIMCollection集合類中加入了一些PIMEntity實體類,并用PIMCollection類中實現(xiàn)的方法分別篩選出了其中的PIMNote、PIMTodo、PIMAppointment、PIMContact、符合指定日期d的集合并打印輸出。

      三、實驗器材

      計算機+windows操作系統(tǒng)+eclipse

      四、實驗步驟

      1.程序源代碼(壓縮在文件夾里)2.編譯執(zhí)行程序 3.記錄執(zhí)行結果

      五、實驗結果

      1.TestPIMCollection的測試代碼:

      2.程序的執(zhí)行結果:

      如圖所示:程序分別輸出了Todo、Note、Appointment、Contact、以及匹配指定日期的結合的結果。

      六、實驗小結

      1、熟悉了Java集合的基本內容和操作,也包括了泛型的一些知識。

      2、通過這個實驗鞏固了java的基礎知識:類和接口的有關知識,繼承的應用。

      3、掌握了在eclipse下編譯執(zhí)行Java程序的知識。

      4、通過幾次的編程,熟悉了java的編程規(guī)則。

      5、綜合應用所學知識完成java程序的分析、設計、調試和總結,為以后編寫更復雜的java程序打下了很好的基礎。

      第四篇:java上機實驗

      1、實驗一:多線程程序設計:炮打飛機

      實驗目的:學會使用多線程進行并發(fā)程序設計

      實驗內容:編寫一個應用程序模擬大炮打飛機。在GUI界面上,飛機水平飛行,用界面上的按鈕控制大炮的運行方向(如向左,向右,向上,向下)。當炮彈碰著飛機后,飛機墜落。

      2、實驗二:數據庫編程:書目信息管理

      實驗目的:掌握數據庫編程技術。能正確連接數據庫,能對數據庫中信息進行查詢、插

      入、刪除、修改。

      實驗內容:在數據庫中創(chuàng)建一張書目信息表,包括書名、作者、出版社、出版日期、書

      號、價格字段。設計一個GUI界面進行書目管理。在該界面上有四個選項卡,分別是查詢、插入、刪除、修改。點擊查詢選項卡,出現(xiàn)的界面上有書名、作者、出版社、書號四個文本框,一個按鈕和一個只讀文本區(qū)。文本框內容可以為空,輸入相應的查詢信息后(例如根據書名查詢可以僅輸入書名),點擊界面上的“查詢”按鈕,可以在界面下方的文本區(qū)中顯示出符合條件的書目詳細信息。點擊插入選項卡,出現(xiàn)的界面上有書名、作者、出版社、出版日期、書號、價格文本框,一個按鈕。在文本框中輸入信息后,點擊“插入”按鈕,該書目信息插入數據庫表中。點擊刪除選項卡,出現(xiàn)的界面上有書名文本框和一個按鈕,輸入書名后點擊“刪除”按鈕,該書目信息從數據庫表中刪除。點擊修改選項卡,出現(xiàn)的界面上有書名、作者、出版社、出版日期、書號、價格文本框,一個按鈕。輸入的書名必須是已存在的,否則會彈出消息框顯示出錯信息。輸入信息后,點擊“修改”按鈕,數據庫表中的相應書目信息被修改為新值。

      3、實驗三:Applet編程:鴨子的移動

      實驗目的:掌握Applet程序設計的方法,學會在Applet中繪制圖片,能采用雙緩沖技術進行圖片繪制,會在Applet中采用多線程進行動畫顯示。能在Applet中實現(xiàn)動畫的平滑顯示,避免閃爍現(xiàn)象。

      實驗內容:在Applet窗口中顯示一只鴨子圖片,要求這只鴨子以每秒100幀的速率水平移動,移到窗口邊界再返回移動。在窗口中點擊鼠標,鴨子停止移動;再次點擊鼠標,鴨子恢復移動。

      4、實驗四:網絡編程:聊天室的實現(xiàn)

      實驗目的:會編寫客戶端和服務器程序實現(xiàn)C/S模式下的通信,會使用多線程進行網絡編程。

      實驗內容:編寫一個聊天室程序:客戶端界面請自行設計,可使其具有個性化特征; 可在實現(xiàn)基本的聊天室功能的基礎上添加個性化的功能。

      第五篇:Java程序設計課程實驗代碼及答案

      Java程序設計課程實驗

      上機實踐1 初識JAVA.................................................................................................................3 實驗

      1一個簡單的應用程序....................................................................................................3 實驗

      2一個簡單的JAVA APPLET程序......................................................................................3 實驗

      3聯(lián)合編譯........................................................................................................................4 上機實踐2 基本數據類型與控制語句........................................................................................5 實驗1

      輸出希臘字母表............................................................................................................5 實驗2

      回文數............................................................................................................................6 實驗3

      猜數字游戲....................................................................................................................8 上機實踐3 類與對象....................................................................................................................9 實驗1

      三角形、梯形和圓形的類封裝.....................................................................................9 實驗

      2實例成員與類成員......................................................................................................12 實驗

      3使用PACKAGE語句與IMPORT語句............................................................................14 上機實踐4 繼承與接口..............................................................................................................16 實驗

      1繼承..............................................................................................................................16 實驗2

      上轉型對象..................................................................................................................19 實驗3 接口回調.....................................................................................................................21 上機實踐5 字符串、時間與數字..............................................................................................23 實驗

      1STRING類的常用方法..................................................................................................23 實驗

      2比較日期的大小..........................................................................................................24 實驗

      3處理大整數..................................................................................................................25 上機實踐6 組件及事件處理......................................................................................................26 實驗1

      算術測試......................................................................................................................26 實驗2

      信號燈..........................................................................................................................29 實驗3

      布局與日歷..................................................................................................................31 上機實踐7 組件及事件處理2...................................................................................................35 實驗1

      方程求根......................................................................................................................35 實驗2

      字體對話框..................................................................................................................38 實驗3

      英語單詞拼寫訓練......................................................................................................41 上機實踐8 多線程.....................................................................................................................45 實驗1

      漢字打字練習..............................................................................................................45 實驗2

      旋轉的行星..................................................................................................................47 實驗3

      雙線程接力..................................................................................................................51 上機實踐9 輸入輸出流..............................................................................................................54 實驗1

      學讀漢字......................................................................................................................54 實驗2

      統(tǒng)計英文單詞字..........................................................................................................57 實驗2

      讀取ZIP文件...............................................................................................................61 上機實踐10 JAVA 中的網絡編程............................................................................................62 實驗1

      讀取服務器端文件......................................................................................................62 實驗2

      使用套接字讀取服務器端對象...................................................................................64 實驗3

      基于UDP的圖像傳輸................................................................................................67 上機實踐11 數據結構................................................................................................................71 實驗1

      掃雷小游戲..................................................................................................................71 實驗2

      排序與查找..................................................................................................................76 實驗3

      使用TREESET排序......................................................................................................77 上機實踐12 JAVA SWING.......................................................................................................79 實驗1

      JLAYEREDPANE分層窗格............................................................................................79 實驗2

      使用表格顯示日歷......................................................................................................80 實驗3

      多文檔界面(MDI)...................................................................................................83 2

      上機實踐1 初識Java 實驗1 一個簡單的應用程序

      1.答案:

      【代碼1】:

      System.out.println(“你好,很高興學習Java”);【代碼2】:

      System.out.println(“We are students”);2.模板代碼

      Hello.java public class Hello {

      public static void main(String args[ ])

      {

      【代碼1】

      //命令行窗口輸出“你好,很高興學習Java”

      A a=new A();

      a.fA();

      } } class A {

      void fA()

      {

      【代碼2】

      //命令行窗口輸出“We are students”

      } } 實驗2 一個簡單的Java Applet程序

      1.答案:

      【代碼1】:

      g.drawString(“這是一個Java Applet 程序”,10,30);【代碼2】:

      g.drawString(“我改變了字體”,20,50);2.模板代碼

      FirstApplet.java import java.applet.*;3 import java.awt.*;public class FirstApplet extends Applet { public void paint(Graphics g){ g.setColor(Color.blue);【代碼1】//在Java Applet中繪制一行文字:“這是一個Java Applet 程序” g.setColor(Color.red);g.setFont(new Font(“宋體”,Font.BOLD,36));【代碼2】//在Java Applet中繪制一行文字:“我改變了字體” } } 實驗3 聯(lián)合編譯

      1.答案:

      【代碼1】:

      System.out.println(“你好,只需編譯我”);【代碼2】:

      System.out.println(“I am A”);【代碼3】:

      System.out.println(“I am B”);【代碼4】:

      System.out.println(“I am C”);2.模板代碼

      模板1:Hello.java public class MainClass { public static void main(String args[ ]){ 【代碼1】 //命令行窗口輸出“你好,只需編譯我” A a=new A();a.fA();B b=new B();b.fB();} }

      模板2 :A.java

      public class A { void fA(){ 【代碼2】 //命令行窗口輸出“I am A” } } 模板3 :B.java

      public class B { void fB(){ 【代碼3】 //命令行窗口輸出“I am B” } } 模板4 :C.java

      public class C { void fC(){ 【代碼4】 //命令行窗口輸出“I am C” } }

      上機實踐2 基本數據類型與控制語句實驗1 輸出希臘字母表

      1.答案:

      【代碼1】: startPosition=(int)cStart;

      【代碼2】: endPosition=(int)cEnd;

      【代碼3】: c=(char)i;

      2.模板代碼

      GreekAlphabet.java

      public class GreekAlphabet {

      public static void main(String args[ ])

      {

      int startPosition=0,endPosition=0;

      char cStart='α',cEnd='ω';

      【代碼1】

      //cStart做int型轉換據運算,并將結果賦值給startPosition

      【代碼2】

      //cEnd做int型轉換運算,并將結果賦值給endPosition

      System.out.println(“希臘字母'α'在unicode表中的順序位置:”+(int)c);

      System.out.println(“希臘字母表:”);

      for(int i=startPosition;i<=endPosition;i++)

      {

      char c='