Java实验报告三_第1页
Java实验报告三_第2页
Java实验报告三_第3页
Java实验报告三_第4页
Java实验报告三_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、天津商业大学学生实验报告开课实验室:现代信息交流中心403 开课时间: 2015年*月*日 实验报告: 2015 年 04 月 17日 学院名称信息工程学院年级、专业、班计科学号姓名同组姓名无课程名称Java程序设计实验项目名称Java面向对象程序设计(2)指导教师尉斌实验类型验证 综合 设计 创新 成绩教师评语 教师签名: 年 月 日一、 实验目的:熟悉类、对象、方法、继承和多态的使用方法。二、 实验内容:1. 创建一个Point类,包含坐标x、y。然后创建一个Line类,定义两个读写属性start和end,数据类型为Point,定义Line类方法(计算start和end之间的距离,并打印s

2、tart和end坐标以及距离信息)。2. 根据下面类图,设计一个名为Student的类,包括属性“学号”、“姓名”以及3门课程“数学”、“英语”和“计算机”的成绩,包括的方法有计算3门课程的“总分”、“平均分”、“最高分”及“最低分”。在此基础上,使用数组来实现对多个学生的管理。编写一个控制台应用程序,实现如下菜单功能。3. 题目:品尝饮料要求:(1)使用键盘输入参数(饮料类型),输出该饮料类型的味道,如:当键盘输入参数为1时,结果见图1:(2)如果没有该种饮料,结果见图2:实现步骤:(1) 建立一个Java抽象类Drink,应当:a、 声明一个抽象方法taste( ),该方法负责输出饮料的味

3、道;b、 声明int型常量来代表不同的饮料类型(咖啡、啤酒、牛奶)c、 声明静态工厂方法getDrink(int drinkType),根据传入的参数创建不同的饮料对象,并返回该对象,建议使用switch语句。(2) 建立Drink的具体子类:a、 分别建立Drink的子类:Coffee(代表咖啡),Beer(代表啤酒),Milk(代表牛奶);b、 实现taste()方法,要求在屏幕输出中打印各自的味道特征。(3) 建立Test测试类,测试以上内容的正确性a、 编写main方法,通过命令行传参的方式传入某种饮料的类型。b、 在main方法中,调用Drink类的getDrink方法,获得相应的饮

4、料对象。c、 然后调用该饮料的taste()方法,输出该饮料的味道。三、 源代码清单:1 源代码清单public class Point public static void main(String args)Point point1=new Point(1,2);Point point2=new Point(4,6);Line line1=new Line(point1, point2);System.out.println("The distance is "+line1.line()+"nThe start is "+"("+l

5、ine1.start.x+","+line1.start.y+")"+"nThe end is "+"("+line1.end.x+","+line1.end.y+")"); double x;double y;Point()Point(double x, double y)this.x=x;this.y=y;class Line Point start;Point end;Line()Line(Point newStart, Point newEnd)start=newSt

6、art;end=newEnd;public double line()return Math.sqrt(end.x-start.x)*(end.x-start.x)+(end.y-start.y)*(end.y-start.y);2源代码清单public class Student String stuno;String name;float math;float english;float computer;Student() Student(String stuno, String name, float math, float english, float computer)this.s

7、tuno=stuno;=name;this.math=math;this.english=english;puter=computer;public String getStuno() return stuno;public void setStuno(String s) this.stuno = s;public String getName() return name;public void setName(String n) = n;public float getMath() return math;public void setMath(floa

8、t m) this.math = m;public float getEnglish() return english;public void setEnglish(float e) this.english = e;public float getComputer() return computer;public void setComputer(float c) puter = c;public double sum() return math+english+computer;public double avg()return (math+english+computer)/3;publ

9、ic double max(double max)if(math>=english)if(math>=computer)max=math;else max=computer;else if(math<english)if(english<computer)math=computer;elsemax=english;return max;public double min(double min)if(math<=english)if(math<=computer)min=math;elsemin=computer;else if(math>english

10、)if(computer>english)min=english;else min=computer;return min;public class Manager extends Student private Student student = new Student100;private static int numberOfStudent = 0;int getNumberOfStudent() return numberOfStudent;Student getStudent() return student;boolean addStudent(Student student

11、) try this.studentnumberOfStudent = student;numberOfStudent+;return true; catch (Exception e) return false;boolean removeStudent(String stuno) boolean target = false;for (int i = 0; i < numberOfStudent; i+)if (studenti.getStuno().equals(stuno) studenti = null;target = true;return target;Student f

12、indStudent(String s) for (int i = 0; i < numberOfStudent; i+)if (studenti != null)if (studenti.getStuno().equals(s)| studenti.getName().equals(s)return studenti;return null;boolean changeStudent(Student student) for (int i = 0; i < numberOfStudent; i+) if (this.studenti.getStuno().equals(stude

13、nt.getStuno()| this.studenti.getName().equals(student.getName() this.studenti = student;return true;return false;void print() System.out.println("学号t姓名t数学t英语t计算机");for (int i = 0; i < numberOfStudent; i+)if (studenti != null) System.out.println(studenti.getStuno() + "t"+ stude

14、nti.getName() + "t" + studenti.getMath()+ "t" + studenti.getEnglish() + "t"+ studenti.getComputer();void caculate() float max_math = 0, min_math = student0.getMath(), sum_math = 0;for (int i = 0; i < numberOfStudent; i+) sum_math += studenti.getMath();if (studenti.ge

15、tMath() > max_math)max_math = studenti.getMath();else if (studenti.getMath() < min_math)min_math = studenti.getMath();float avg_math = sum_math / numberOfStudent;float max_english = 0, min_english = student0.getEnglish(), sum_english = 0;for (int i = 0; i < numberOfStudent; i+) sum_english

16、+= studenti.getEnglish();if (studenti.getEnglish() > max_english)max_english = studenti.getEnglish();else if (studenti.getEnglish() < min_english)min_english = studenti.getEnglish();float avg_english = sum_english / numberOfStudent;float max_computer = 0, min_computer = student0.getComputer(),

17、 sum_computer = 0;for (int i = 0; i < numberOfStudent; i+) sum_computer += studenti.getComputer();if (studenti.getComputer() > max_computer)max_computer = studenti.getComputer();else if (studenti.getComputer() < min_computer)min_computer = studenti.getComputer();float avg_computer = sum_com

18、puter / numberOfStudent;System.out.println("学科t平均成绩t最高分t最低分");System.out.println("数学t" + avg_math + "t" + max_math + "t"+ min_math);System.out.println("英语t" + avg_english + "t" + max_english + "t"+ min_english);System.out.println(

19、"计算机t" + avg_computer + "t" + max_computer + "t"+ min_computer);import java.util.Scanner;public class TestStudent public static void main(String args) Manager manager = new Manager();System.out.println("1.添加学生n2.删除学生n3.查询学生n4.修改学生n5.打印学生n6.统计学生n7.退出");Scanner

20、scanner = new Scanner(System.in);boolean flag = true;while (flag) int input = 9;try input = scanner.nextInt(); catch (Exception e) System.out.println("Wrong operation.");flag = false;switch (input) case 1:System.out.println("Enter the student's information(stuno,name,math,english,

21、computer):");Student student1 = new Student();student1.setStuno(scanner.next();student1.setName(scanner.next();student1.setMath(scanner.nextFloat();student1.setEnglish(scanner.nextFloat();student1.setComputer(scanner.nextFloat();if (manager.addStudent(student1)System.out.println("success.&

22、quot;);elseSystem.out.println("fail.");break;case 2:System.out.println("Enter the stuno:");if (manager.removeStudent(scanner.next()System.out.println("success.");elseSystem.out.println("fail.");break;case 3:System.out.println("Enter the stuno or name:&quo

23、t;);Student student3 = manager.findStudent(scanner.next();if (student3 != null) System.out.println(student3.getStuno() + "t"+ student3.getName() + "t" + student3.getMath()+ "t" + student3.getEnglish() + "t"+ student3.getComputer(); elseSystem.out.println("

24、;There is no such a student.");break;case 4:System.out.println("Enter the changed student(stuno,name,math,english,computer):");Student student4 = new Student();student4.setStuno(scanner.next();student4.setName(scanner.next();student4.setMath(scanner.nextFloat();student4.setEnglish(sca

25、nner.nextFloat();student4.setComputer(scanner.nextFloat();if (manager.changeStudent(student4)System.out.println("change success.");elseSystem.out.println("change fail.");break;case 5:manager.print();break;case 6:try manager.caculate();break; catch (Exception e) System.out.println("there is no student.");case 7:flag = false;System.out.println("退出。");break;default:System.out.println("Wrong operation.");3. 源代码清单public abstract class Drink public abstract String getTaste();int drinkType; int Coffee=1;i

温馨提示

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

评论

0/150

提交评论