高級(jí)程序設(shè)計(jì)試卷_第1頁
高級(jí)程序設(shè)計(jì)試卷_第2頁
高級(jí)程序設(shè)計(jì)試卷_第3頁
高級(jí)程序設(shè)計(jì)試卷_第4頁
高級(jí)程序設(shè)計(jì)試卷_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 Java面向?qū)ο蟪绦蛟O(shè)計(jì)一、編程題(一人選取任意4題完成,每題25分) 1、編寫一個(gè)小型計(jì)算器應(yīng)用程序,用戶可從鍵盤輸入兩個(gè)整型變量,并可通過JComboBox選擇計(jì)算操作符,計(jì)算結(jié)果在JtextField中顯示,界面風(fēng)格請(qǐng)參照Windows計(jì)算器界面。package test;import java.awt.*;import javax.swing.*;import java.awt.event.*;public class Counter extends WindowAdapter static JFrame f = new JFrame("計(jì)算器");static

2、JTextField text1 = new JTextField("0.");static String source = ""static String cal = ""static String object = ""static boolean flag = false;static boolean flag1 = true;static boolean flag2 = false;public void init() try Container c = f.getContentPane();JPanel

3、pan1 = new JPanel();JButton b1 = new JButton("1");JButton b2 = new JButton("2");JButton b3 = new JButton("3");JButton b4 = new JButton("4");JButton b5 = new JButton("5");JButton b6 = new JButton("6");JButton b7 = new JButton("7");

4、JButton b8 = new JButton("8");JButton b9 = new JButton("9");JButton b0 = new JButton("0");JButton b11 = new JButton("+");JButton b12 = new JButton("-");JButton b13 = new JButton("*");JButton b14 = new JButton("/");JButton b15 = ne

5、w JButton(".");JButton b16 = new JButton("=");JButton bclar = new JButton("清零");text1.setHorizontalAlignment(JTextField.RIGHT);c.add(text1, "North");c.add(pan1);A aa = new A();Result re = new Result();Operation op = new Operation();Clar cl = new Clar();b1.addA

6、ctionListener(aa);b2.addActionListener(aa);b3.addActionListener(aa);b4.addActionListener(aa);b5.addActionListener(aa);b6.addActionListener(aa);b7.addActionListener(aa);b8.addActionListener(aa);b9.addActionListener(aa);b0.addActionListener(aa);b11.addActionListener(op);b12.addActionListener(op);b13.a

7、ddActionListener(op);b14.addActionListener(op);b15.addActionListener(op);b16.addActionListener(re);bclar.addActionListener(cl);pan1.add(b1);pan1.add(b2);pan1.add(b3);pan1.add(b11);pan1.add(b4);pan1.add(b5);pan1.add(b6);pan1.add(b12);pan1.add(b7);pan1.add(b8);pan1.add(b9);pan1.add(b9);pan1.add(b13);p

8、an1.add(b0);pan1.add(b15);pan1.add(b16);pan1.add(b14);pan1.add(bclar);f.setSize(200, 220);f.setVisible(true); catch (Exception e) System.out.println(e.getMessage();class A implements ActionListener public void actionPerformed(ActionEvent e) String a = text1.getText();String s = e.getActionCommand();

9、if (a.equals("0.") | a.equals("+") | a.equals("*") | a.equals("/")text1.setText(s);else if (flag2) text1.setText(s);flag2 = false; elsetext1.setText(a + s);class Operation implements ActionListener public void actionPerformed(ActionEvent e) cal = e.getActionCo

10、mmand();if (flag1 = true)source = text1.getText();text1.setText(cal);flag1 = false;flag = true;class Result implements ActionListener public void actionPerformed(ActionEvent e) double num1;num1 = Double.parseDouble(source);object = text1.getText();double num2;num2 = Double.parseDouble(object);double

11、 result = 0;if (cal.equals("+")result = num1 + num2;if (cal.equals("-")result = num1 - num2;if (cal.equals("*")result = num1 * num2;if (cal.equals("/")if (num2 = 0)text1.setText("除數(shù)不能為0");elseresult = num1 / num2;String s1 = Double.toString(result);t

12、ext1.setText(s1);flag1 = true;flag2 = true;class Clar implements ActionListener public void actionPerformed(ActionEvent e) text1.setText("0.");public static void main(String args) Counter count = new Counter();count.init();public void windowClosing(WindowEvent e) System.exit(1);public void

13、 windowOpend(WindowEvent e) public void windowIconified(WindowEvent e) public void windowDeiconified(WindowEvent e) public void windowClosed(WindowEvent e) public void windowActivated(WindowEvent e) public void windowDeactivated(WindowEvent e) 2、 編寫一個(gè)程序,以隨機(jī)顏色繪制8個(gè)同心圓,圓和圓之間相差10個(gè)像素。使用Graphics類的drawArc方

14、法,其8個(gè)圓的顏色隨機(jī)生成。package test;import java.awt.*;import java.awt.image.*;import javax.swing.*;public class MultiCircle extends JPanel private BufferedImage bi = new BufferedImage(320, 240, BufferedImage.TYPE_INT_BGR); public MultiCircle() setPreferredSize(new Dimension(320, 240); public void paintCompon

15、ent(Graphics g) int radius = 50; g.setColor(Color.red); for (int i = 1; i <= 5; i+) g.drawOval(150 - (radius + 10 * i), 150 - (radius + 10 * i), (radius + 10 * i) * 2, (radius + 10 * i) * 2); public static void main(String args) JFrame frame = new JFrame("MultiCircle"); frame.add(new Mu

16、ltiCircle(); frame.pack(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); 3、設(shè)計(jì)一個(gè)人員類(Person),其中包含一個(gè)方法Pay,代表人員的工資支出。再?gòu)腜erson類派生出教師類(Teacher)和大學(xué)生類(CollegeStudent),其中教師的工資支出為:基本工資+授課時(shí)數(shù)*30 大學(xué)生的工資支出為:獎(jiǎng)學(xué)金支出1) 將人員類定義為抽象類,pay為抽象方法,設(shè)計(jì)程序?qū)崿F(xiàn)多態(tài)性。2) Pay定義在接口中,設(shè)計(jì)程序?qū)崿F(xiàn)多態(tài)性。package test;a

17、bstract class Person abstract void Pay();public class Teacher extends PersonOverridevoid Pay() / TODO Auto-generated method stubpublic class CollegeStudent extends PersonOverridevoid Pay() / TODO Auto-generated method stub4、 從鍵盤輸入一行字符串:1)統(tǒng)計(jì)每個(gè)字符串出現(xiàn)的次數(shù)和位置;2)統(tǒng)計(jì)含有的單詞個(gè)數(shù);3)正向和反向輸出單詞。package test;import ja

18、va.util.Scanner;public class test public static void main(String args) Scanner in=new Scanner(System.in);String num=in.next();num.5、編寫一個(gè)應(yīng)用程序,請(qǐng)使用菜單技術(shù)(彈出菜單),菜單項(xiàng)由可控制顏色的選擇,當(dāng)用戶選擇某菜單項(xiàng)時(shí),F(xiàn)rame的背景色為相應(yīng)的顏色。6、通過拖動(dòng)鼠標(biāo)在窗口組件上繪制任意圖形,且圖形顏色為紅色。7、定義一個(gè)學(xué)生類和一個(gè)課程類,要求能夠表現(xiàn)現(xiàn)實(shí)生活中一個(gè)學(xué)生可以選擇多門課程,一門課程可以有多個(gè)學(xué)生選修的情況。編寫程序進(jìn)行測(cè)試。8、編寫一個(gè)類實(shí)現(xiàn)

19、地址的概念,包括的屬性有“國(guó)家、省份、市縣、街道、門牌、單位、郵編”,自定義方法封裝這些屬性,并定義一個(gè)方法按照標(biāo)準(zhǔn)格式打印出寄給該地址的信封。從該地址類派生出國(guó)內(nèi)、國(guó)際兩種地址,兩種地址的格式不同,重載打印信封的方法,該方法不再在方法的內(nèi)部直接打印,而是按格式組合好的地址字符串。9、使用簡(jiǎn)單工廠方法,實(shí)現(xiàn)計(jì)算功能。(只需設(shè)計(jì)計(jì)算相關(guān)類如加、減、乘和除)。10、參照ATM系統(tǒng)主界面,使用Java技術(shù)設(shè)計(jì)類似界面(只需設(shè)計(jì)界面,不需要編寫事件處理代碼)。11、編寫一個(gè)程序完成在銀行的取款和存款操作。在定義銀行類時(shí),若取款大于余額則作為異常處理。12、結(jié)合數(shù)據(jù)庫課程所學(xué)DDL語言知識(shí),利用JDBC技術(shù),請(qǐng)?jiān)谇芭_(tái)利

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論