![java实验汇总排完版[1].doc_第1页](http://file.renrendoc.com/FileRoot1/2019-3/17/4f8c6da4-b4d0-4919-be77-31fb757b8892/4f8c6da4-b4d0-4919-be77-31fb757b88921.gif)
![java实验汇总排完版[1].doc_第2页](http://file.renrendoc.com/FileRoot1/2019-3/17/4f8c6da4-b4d0-4919-be77-31fb757b8892/4f8c6da4-b4d0-4919-be77-31fb757b88922.gif)
![java实验汇总排完版[1].doc_第3页](http://file.renrendoc.com/FileRoot1/2019-3/17/4f8c6da4-b4d0-4919-be77-31fb757b8892/4f8c6da4-b4d0-4919-be77-31fb757b88923.gif)
![java实验汇总排完版[1].doc_第4页](http://file.renrendoc.com/FileRoot1/2019-3/17/4f8c6da4-b4d0-4919-be77-31fb757b8892/4f8c6da4-b4d0-4919-be77-31fb757b88924.gif)
![java实验汇总排完版[1].doc_第5页](http://file.renrendoc.com/FileRoot1/2019-3/17/4f8c6da4-b4d0-4919-be77-31fb757b8892/4f8c6da4-b4d0-4919-be77-31fb757b88925.gif)
已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
对象的初始化 1.设计一个包含有求累加和方法sum的类MyCal,sum()方法可接受一个或两个整形参数,如果是一个参数,则是从自然数1开始的累加,如果是两个参数m和n,求的是从其中较小数到较大数的累加和。试用MyCal类求: (1) 1+2+3+.+100 (2) 25+26+27+60MyCal.Javapublic class MyCalvoid sum(int n)int i,sum=0;if (n0)for(i=1;i=n;i+)sum=sum+i;System.out.println(和为:+sum);elseSystem.out.println(请输入一个正数);void sum(int a,int b)int i,sum=0;if (ab)for (i=a;i=b;i+)sum=sum+i;System.out.println(和为:+sum);elseSystem.out.println(第一个数必须小于第二个数!);public static void main(String args)MyCal c=new MyCal();c.sum(100);c.sum(25,60);输出结果:和为:5050和为:1530继承按步骤编程设计,理解类的继承与方法的重写(1) 设计一个Animal类,属性有质量、年龄、行为有吃(eat)、睡(sleep)、呼吸(breathe)。(2) 创建继承Animal的子类fish,呼吸行为不同,请重写呼吸方法。(3) 在main方法中创建一个fish对象,执行吃(eat)、睡(sleep)、呼吸(breathe)方法。执行程序理解重写。(4) 分别给Animal类和fish类创建一个无参的构造方法。编译执行,分析结果。(5) 将fish类的构造方法改为带参,编译并分析结果。Test2.java/*(1)设计一个Animal类,属性有质量、年龄、行为有吃(eat)、睡(sleep)、呼吸(breathe)。(2)创建继承Animal的子类fish,呼吸行为不同,请重写呼吸方法。(3)在main方法中创建一个fish对象,执行吃(eat)、睡(sleep)、呼吸(breathe)方法。执行程序理解重写。(4)分别给Animal类和fish类创建一个无参的构造方法。编译执行,分析结果。(5)将fish类的构造方法改为带参,编译并分析结果。*/class AnimalAnimal()System.out.println(这是Animal的无参构造函数);double weight;int birth;void eat()System.out.println(动物吃东西);void sleep()System.out.println(动物睡觉);void breathe()System.out.println(动物呼吸);class fish extends Animalfish ()System.out.println(这是fish的无参构造函数);fish(int a)System.out.println(这是fish的带参构造函数);void breathe()System.out.println(鱼呼吸);public class Test2public static void main(String args)fish fish1 =new fish();fish1.eat();fish1.sleep();fish1.breathe();输出结果:这是Animal的无参构造函数这是fish的无参构造函数动物吃东西动物睡觉鱼呼吸 多态按步骤编程设计,并对程序结果进行分析(1) 设计一个抽象类Animal类,其中包括一个抽象方法sleep()和调用该方法的goSleep方法。(2)设计Animal的子类Bird,重写的sleep方法中显示”a bird sleeps on tree”。(3) 设计Animal的子类Fish,仿照(2)中句式显示。(4) 设计Animal的子类Person,仿照(2)中句式显示。 实例化三种不同的Animal对象,并调用goSleep()方法。Test3.java/*(1)设计一个抽象类Animal类,其中包括一个抽象方法sleep()和调用该方法的goSleep方法。(2)设计Animal的子类Bird,重写的sleep方法中显示”a bird sleeps on tree”。(3) 设计Animal的子类Fish,仿照(2)中句式显示。(4) 设计Animal的子类Person,仿照(2)中句式显示。 实例化三种不同的Animal对象,并调用goSleep()方法。*/ abstract class Animal abstract void sleep(); void goSleep() sleep(); class Bird extends Animal void sleep() System.out.println(a bird sleeps on tree); class Fish extends Animal void sleep() System.out.println(a fish sleeps in the sea); class Person extends Animal void sleep() System.out.println(a person sleeps in the bed); public class Test3public static void main(String args)Bird b =new Bird();b.goSleep();Fish f=new Fish();f.goSleep();Person p=new Person();p.goSleep();输出结果:a bird sleeps on treea fish sleeps in the seaa person sleeps in the bed 基本数组类型组成的数组 1. 从键盘输入10个整数,放入一个一维数组,(1) 编写一个方法能够实现数组的逆序:将前5个元素与后5个元素对换,即将第一个元素与第十个元素呼唤,将第二个元素与第九个元素互换,依次类推。(2) 编写一个方法能够返回该数组中元素的最大值编写一个方法实现对数组元素的升序排列ArrayTest.javaimport java.util.Arrays;public class ArrayTestpublic static void main (String args)int item=new int10;for(int i=0;i10;i+)itemi=Integer.parseInt(argsi);reverse(item);for(int i=0;iitem.length;i+)System.out.println(itemi);System.out.println(最大值:+getMax(item);ascend(item); for(int i=0;iitem.length;i+)System.out.println(itemi);public static void reverse(int a)for(int i=0;i5;i+)int temp=ai;ai=a9-i;a9-i=temp;public static int getMax(int a)int max=a0;for(int i=1;imax) max=ai;return max;public static void ascend(int a) for(int i=0;ia.length;i+) for(int j=i;jaj) int temp=aj; aj=ai; ai=temp; 输出结果:java ArrayTest 85 54 25 24 14 2 36 21 5 84845213621424255485最大值:85251421242536548485引用数据类型组成的数组 (1) 定义Student类,类的属性包括学号、姓名、语文成绩、英语成绩、数学成绩。方法包括设置和获取上述属性的方法、并且包括获取总分的方法。(2) 在测试类中定义一个能够包含5个学生对象的数组,创建5个Student类的对象,将它们放入数组中。(3) 遍历数组,输出每个学生的姓名和他对应的总分。实验:商品类Test4.javaimport java.util.ArrayList;import java.util.Iterator;class Goods private String name; private float price; public void setName(String name) =name; public void setPrice(float price) this.price=price; public String getName() return name; public float getPrice() return price; class ShoppingCarprivate ArrayList list;public ShoppingCar()list=new ArrayList();public void addGoods(Goods goods)list.add(goods);public void removeGoods(String name) Iterator it=list.iterator(); while(it.hasNext() Goods goods=it.next(); if(goods.getName().equals(name) list.remove(goods); break; public float getPrice() float price=0.0f; Iterator it=list.iterator(); while(it.hasNext() Goods goods=it.next(); price+=goods.getPrice(); return price;public class Test4public static void main(String args)Goods goods1=new Goods();goods1.setName(可乐);goods1.setPrice(2.5f);Goods goods2=new Goods();goods2.setName(KSF方便面);goods2.setPrice(10.0f);ShoppingCar car=new ShoppingCar();car.addGoods(goods1);car.addGoods(goods2);System.out.println(car.getPrice();car.removeGoods(KSF方便面); System.out.println(car.getPrice();输出结果:12.52.51)制作一个销售首饰的公司类。 属性: 一个保存员工的集合对象(ArrayList和Vector都可以)。 方法: 1:添加一个员工。 2:通过员工的名字来删除员工。 3:通过员工的名字来显示员工的工资。 4:输出所有员工的工资和。 2)定义一个抽象员工类 属性: 姓名,基本工资 抽象方法:计算工资。 3)子类:小时工类 属性: 工作的小时,每小时工资。 方法: 1. 设置工作的小时 2. 设置每小时的工资。 3. 重写计算工资方法: 小时工没有基本工资,他的工资就是工作的小时*每小时工资。 4)子类:销售员工类 属性: 销售的总金额 方法 1. 设置销售的总金额 2. 重写计算工资方法: 基本工资+提成。 提成的计算: 当销售额再10000 以下时,则提成10%, 等销售额再10000-100000之间是,则提成15%。 再 100000以上是,提成18%。 5)子类: 普通员工类 属性: 工作的小时 方法: 1. 设置工作的小时 2. 重写计算工资的方法: 当每月工作的小时数超过196 小时时,超出的部分按每小时200 元。 基本工资+(工作的小时-196)*200。 6)定义一个测试类,在 main方法中生成 一个公司对象; 一个小时工的对象,每小时工资10,工作200 小时; 一个小时工的对象,每小时工资10,工作 230小时; 一个销售员工的对象,基本工资1000,销售额5000; 一个销售员工的对象,基本工资1000,销售额200000; 一个普通员工对象,基本工资1200,工作小时205 小时。 (注:员工的姓名可自行拟定。)将以上员工对象加入公司对象中,然后调用公司对象的输出所有员工工资和的方法,查看该公司该月应该发的工资总和。 要求:将包的概念引入到本程序中,要求一个源文件中只定义一个类,请合理的将不同的类组织在包当中。例如:公司类可以放在pany这个包中。 抽象员工类可以放在com.employee这个包中。对于ArrayList或Vector这两个类的用法不熟悉的同学,请参考API文档。要求ArrayList或Vector启用泛型机制本程序较综合的考察同学们面向对象编程的基本概念,包括包的定义与引入、类、继承、抽象类、接口、泛型等概念。请仔细阅读题目要求,尽量在4课时类完成,分别做成抽象类和接口两个版本。Company.java/*1)制作一个销售首饰的公司类。 属性: 一个保存员工的集合对象(ArrayList和Vector都可以)。 方法: 1:添加一个员工。 2:通过员工的名字来删除员工。 3:通过员工的名字来显示员工的工资。 4:输出所有员工的工资和。 */package pany;import java.util.*;public class CompanyArrayList staff=new ArrayList(5);public void addStaff(Staff st)staff.add(st);public void deleteStaff(String name)Iterator it=staff.iterator();while(it.hasNext()Staff st=it.next();if(.equals(name) staff.remove(st); break;public double showSalary(String name)double salary=0.0;Iterator it=staff.iterator();while(it.hasNext()Staff st=it.next();if(.equals(name) salary=st.getSalary();return salary;public double getAllSalary()double salary=0.0;Iterator it=staff.iterator();while(it.hasNext()Staff st=it.next(); salary+=st.getSalary();return salary;Staff.java/*2)定义一个抽象员工类 属性: 姓名,基本工资 抽象方法:计算工资。*/package pany;public abstract class Staff String name; double basic_salary; public abstract double getSalary() public Staff(String name) =name; public Staff(String name,double basic_salary) =name; this.basic_salary=basic_salary; HourStaff.java/*3)子类:小时工类 属性: 工作的小时,每小时工资。 方法: 1. 设置工作的小时 2. 设置每小时的工资。 3. 重写计算工资方法: 小时工没有基本工资,他的工资就是工作的小时*每小时工资。*/package pany;public class HourStaff extends Staffint hour;double hour_salary;public HourStaff(String name,int hour,double hour_salary) super(name); this.hour=hour; this.hour_salary=hour_salary;void hour_salary(double hour_salary)this.hour_salary=hour_salary; public double getSalary() return hour*hour_salary; Sellstaff.java/*4)子类:销售员工类 属性: 销售的总金额 方法 1. 设置销售的总金额 2. 重写计算工资方法: 基本工资+提成。 提成的计算: 当销售额再10000 以下时,则提成10%, 等销售额再10000-100000之间是,则提成15%。 再 100000以上是,提成18%。*/package pany;public class Sellstaff extends Staffdouble money;double extra_salary;public Sellstaff(String name,double basic_salary,double money)super(name,basic_salary); this.money=money;public double getSalary() /return basic_salary+extra_salary; if (money 10000) extra_salary=money*0.1;else if(money10000)extra_salary=money*0.15;else if(money100000)extra_salary=money*0.18; return basic_salary+extra_salary;NormalStaff.java/*5)子类: 普通员工类 属性: 工作的小时 方法: 1. 设置工作的小时 2. 重写计算工资的方法: 当每月工作的小时数超过196 小时时,超出的部分按每小时200 元。 基本工资+(工作的小时-196)*200。*/package pany;public class NomalStaff extends Staffint hour;double salary;public NomalStaff(String name,int hour)super(name);this.hour=hour;public double getSalary()if (hour196) salary=basic_salary+(hour-196)*200;return salary;Companytest.java/*6)定义一个测试类,在 main方法中生成 一个公司对象; 一个小时工的对象,每小时工资10,工作200 小时; 一个小时工的对象,每小时工资10,工作 230小时; 一个销售员工的对象,基本工资1000,销售额5000; 一个销售员工的对象,基本工资1000,销售额200000; 一个普通员工对象,基本工资1200,工作小时205 小时。 (注:员工的姓名可自行拟定。)将以上员工对象加入公司对象中,然后调用公司对象的输出所有员工工资和的方法,查看该公司该月应该发的工资总和。*/ package pany;public class Companytest public static void main(String args) Company com=new Company(); HourStaff hs1=new HourStaff(张三,200,10.0); HourStaff hs2=new HourStaff(李四,230,10.0); Sellstaff ss1=new Sellstaff(李五,1000.0,5000.0); Sellstaff ss2=new Sellstaff(李六,1000.0,200000.0); NomalStaff ns=new NomalStaff(李七,205); com.addStaff(hs1); com.addStaff(hs2); com.addStaff(ss1); com.addStaff(ss2); com.addStaff(ns); System.out.println(工资和+com.getAllSalary();输出结果:工资和44600.0实验 AWT事件处理机制一、实验目的 利用AWT中的事件处理机制完成图形用户界面与用户的交互。二、实验要求 1 理解awt的事件处理机制,理解事件源、事件、事件监听器、事件处理者之间的关系。2 掌握事件处理机制的编程方式。三、实验内容1. 制作如图所示的界面:在前两个文本框中输入两个整数,点击“计算”,在最后一个文本框中显示输入的两个整数的和。注:按照事件处理机制的四种方式完成(1) 事件源和监听器在同一类中(2) 监听器和事件源不在同一个类中(3) 监听器是事件源所在类的内部类(4) 监听器是事件源所在类的内部类Test1.javaimport java.awt.*;import java.awt.event.*;public class Test1 extends Frame implements ActionListener TextField t1,t2,t3;Button b;public Test1() t1=new TextField(5); t2=new TextField(5); t3=new TextField(10); b=new Button(计算); this.setBounds(100,100,300,200); this.setLayout(new FlowLayout(); b.addActionListener(this); this.add(t1); add(t2); add(b); add(t3); this.setVisible(true); public static void main(String args) new Test1(); public void actionPerformed(ActionEvent e) int x1,x2; x1=Integer.parseInt(t1.getText(); x2=Integer.parseInt(t2.getText(); t3.setText(String.valueOf(x1+x2); /t3.setText(Integer.parseInt(t1.getText()+Integer.parseInt(t2.getText(); Test2.javaimport java.awt.*;import java.awt.event.*;public class Test2 extends Frame static TextField t1,t2,t3;Button b;public Test2() t1=new TextField(5); t2=new TextField(5); t3=new TextField(10); b=new Button(计算); this.setBounds(100,100,300,200); this.setLayout(new FlowLayout(); b.addActionListener(new Listener1(); this.add(t1); add(t2); add(b); add(t3); this.setVisible(true); public static void main(String args) new Test2();class Listener1 implements ActionListenerpublic void actionPerformed(ActionEvent e) throws NumberFormatException int x1,x2; try x1=Integer.parseInt(Test2.t1.getText(); x2=Integer.parseInt(Test2.t2.getText(); Test2.t3.setText(String.valueOf(x1+x2); catch(NumberFormatException e1) System.out.println(请输入数据); /static.t3.setText(Integer.parseInt(static.t1.getText()+Integer.parseInt(static.t2.getText(); Test3.javaimport java.awt.*;import java.awt.event.*;public class Test3 extends Frame TextField t1,t2,t3;Button b;public Test3() t1=new TextField(5); t2=new TextField(5); t3=new TextField(10); b=new Button(计算); this.setBounds(100,100,300,200); this.setLayout(new FlowLayout(); b.addActionListener(new Listener1(); this.add(t1); add(t2); add(b); add(t3); this.setVisible(true); public static void main(String args) new Test3();class Listener1 implements ActionListener public void actionPerformed(ActionEvent e) int x1,x2; try x1=Integer.parseInt(t1.getText(); x2=Integer.parseInt(t2.getText(); t3.setText(String.valueOf(x1+x2); catch(NumberFormatException e1) System.out.println(请输入数据); /t3.setText(Integer.parseInt(t1.getText()+Integer.parseInt(t2.getText(); Test4.javaimport java.awt.*;import java.awt.event.*;public class Test4 extends Frame TextField t1,t2,t3;Button b;public Test4() t1=new TextField(5); t2=new TextField(5); t3=new TextField(10); b=new Button(计算); this.setBounds(100,100,300,200); this.setLayout(new FlowLayout(); b.addActionListener (new ActionListener() public void actionPerformed(ActionEvent e) int x1,x2; try x1=Integer.parseInt(t1.getText(); x2=Integer.parseInt(t2.getText(); t3.setText(String.valueOf(x1+x2); catch(NumberFormatException e1) System.out.println(请输入数据); /t3.setText(Integer.parseInt(t1.getText()+Integer.parseInt(t2.getText(); ); this.add(t1); add(t2); add(b); add(t3); this.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); this.setVisible(true); public static void main(String args) new Test4();实验 JDBC数据库编程一、实验目的 掌握JDBC操作数据库的基本过程,熟练掌握Connection、Statement、ResultSet等使用方法。二、实验要求 3 掌握加载数据库驱动程序的方法。 4 掌握建立数据库访问的一般步骤。5 掌握Connection、Statement、ResultSet的使用方法。6 以Access为例,建立数据源的连接。三、实验内容 1在Access中建立一个教师表: 表结构包括的字段有:姓名、年龄、性别、职称、毕业院校、基本工资等信息。 编程实现以下功能:(1) 插入某一教师的具体信息。(2) 修改某一教师的职称和基本工资。(3) 检索职称为“讲师”的所有教师信息。(4) 倒序输出所有教师的基本信息。DBTest.java/*1在Access中建立一个教师表: 表结构包括的字段有:姓名、年龄、性别、职称、毕业院校、基本工资等信息。 编程实现以下功能: (3)检索职称为“讲师”的所有教师信息。*/import java.sql.*;public class DBTest public static void main(String args) try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e) System.out.println(驱动不存在); try Connection con=DriverManager.getConnection(jdbc:odbc:teacher,admin,123); Statement stmt=con.createStatement(); String sql=select * from teacher; ResultSet rs=stmt.executeQuery(sql); while(rs.next() System.out.println(编号:+rs.getString(1); System.out.println(姓名:+rs.getString(2); System.out.println(年龄:+rs.getString(3); System.out.println(性别:+rs.getString(4); System.out.println(职称:+rs.getString(5); System.out.println(毕业院校:+rs.getString(6); System.out.println(基本工资:+rs.getString(7); catch(SQLException e2) System.out.println(数据库操作错误); DBTest2.java/*1在Access中建立一个教师表: 表结构包括的字段有:姓名、年龄、性别、职称、毕业院校、基本工资等信息。 编程实现以下功能: (1)插入某一教师的具体信息。*/import java.sql.*;public class DBTest2 public static void main(String args) try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e) System.out.println(驱动不存在); try Connection con=DriverManager.getConnection(jdbc:odbc:teacher,admin,123); Statement stmt=con.createStatement(); String sql=insert into teacher va
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 武汉外语外事职业学院《投资学实验》2023-2024学年第二学期期末试卷
- 成都理工大学工程技术学院《无机及分析》2023-2024学年第二学期期末试卷
- 雅安职业技术学院《施肥原理与技术》2023-2024学年第二学期期末试卷
- 乐山师范学院《名著导读》2023-2024学年第二学期期末试卷
- 湖北三峡职业技术学院《仪表自动化与过程控制》2023-2024学年第二学期期末试卷
- 遵义医科大学《大数据开源架构》2023-2024学年第二学期期末试卷
- 皖西卫生职业学院《项目策划与管理》2023-2024学年第二学期期末试卷
- 山东理工职业学院《大气污染控制课程设计》2023-2024学年第二学期期末试卷
- 温州职业技术学院《计算机网络与通信技术》2023-2024学年第二学期期末试卷
- 西安工程大学《发电厂电气主系统》2023-2024学年第二学期期末试卷
- 人教PEP版英语五年级下册Unit 4 When is the art show?单元教学设计(6课时教案)
- 医院人人讲安全个个会应急
- 电网工程设备材料信息参考价(2024年第四季度)
- 2025年专利使用合同范本
- 2024年中级(监控类)消防设施操作员理论考试题库(精练500题)
- 2025-2030全球等离子体仿真软件行业调研及趋势分析报告
- 我国职业教育混合所有制办学改革的机制研究
- 《你当像鸟飞往你的山》读书分享读书分享笔记
- 2025年全年日历-含农历、国家法定假日-带周数竖版
- RoHS供应商环境稽核检查表
- 深圳鸿蒙复习测试题
评论
0/150
提交评论