高级程序设计试卷.docx_第1页
高级程序设计试卷.docx_第2页
高级程序设计试卷.docx_第3页
高级程序设计试卷.docx_第4页
高级程序设计试卷.docx_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java面向对象程序设计一、编程题(一人选取任意4题完成,每题25分) 1、编写一个小型计算器应用程序,用户可从键盘输入两个整型变量,并可通过JComboBox选择计算操作符,计算结果在JtextField中显示,界面风格请参照Windows计算器界面。package test;import java.awt.*;import javax.swing.*;import java.awt.event.*;public class Counter extends WindowAdapter static JFrame f = new JFrame(计算器);static 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 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);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 = new 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.addActionListener(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.addActionListener(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);pan1.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();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.getActionCommand();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 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(除数不能为0);elseresult = num1 / num2;String s1 = Double.toString(result);text1.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 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、 编写一个程序,以随机颜色绘制8个同心圆,圆和圆之间相差10个像素。使用Graphics类的drawArc方法,其8个圆的颜色随机生成。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 paintComponent(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 MultiCircle(); frame.pack(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); 3、设计一个人员类(Person),其中包含一个方法Pay,代表人员的工资支出。再从Person类派生出教师类(Teacher)和大学生类(CollegeStudent),其中教师的工资支出为:基本工资+授课时数*30 大学生的工资支出为:奖学金支出1) 将人员类定义为抽象类,pay为抽象方法,设计程序实现多态性。2) Pay定义在接口中,设计程序实现多态性。package test;abstract 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)统计每个字符串出现的次数和位置;2)统计含有的单词个数;3)正向和反向输出单词。package test;import java.util.Scanner;public class test public static void main(String args) Scanner in=new Scanner(System.in);String num=in.next();num.5、编写一个应用程序,请使用菜单技术(弹出菜单),菜单项由可控制颜色的选择,当用户选择某菜单项时,Frame的背景色为相应的颜色。6、通过拖动鼠标在窗口组件上绘制任意图形,且图形颜色为红色。7、定义一个学生类和一个课程类,要求能够表现现实生活中一个学生可以选择多门课程,一门课程可以有多个学生选修的情况。编写程序进行测试。8、编写一个类实现地址的概念,包括的属性有“国家、省份、市县、街道、门牌、单位、邮编”,自定义方法封装这些属性,并定义一个方法按照标准格式打印出寄给该地址的信封。从该地址类派生出国内、国际两种地址,两种地址的格式不同,重载打印信封的方法,该方法不再在方法的内部直接打印,而是按格式组合好的地址字符串。9、使用简单工厂方法,实现计算功能。(只需设计计算相关类如加、减、乘和除)。10、参照ATM系统主界面,使用Java技术设计类似界面(只需设计界面,不需要编写事件处理代码)。11、编写一个程序完成在银行的取款和存款操作。在定义银行类时,若取款大于余额则作为异常处理。12、结合数据库课程所学DDL语言知识,利用JDBC技术,请在前台利用程序给数据库创建表Students(ID, name,age,sex),其中ID为主关键字,其他字段不允许为空。13、结合数据库课程所学DML语言知识,利用JDBC技术,给表Students(ID, name,age,sex)中插入数据(“9526”,“小强”,“20”,男)和(“9527”,“旺财”,“19”,男)。(假设数据库中以及存在表Students) 14、结合数据库课程所学DML语言知识,利用JDBC技术,查询表Students(ID, name,age,sex)中ID为“9527”的学生信息,并打印输出。(假设数据库中以及存在表Students,并且有足够的数据) 15、结合数据库课程所学DML语言知识,利用JDBC技术,将表Students(ID,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论