2013242032-弓彩霞-实验二_第1页
2013242032-弓彩霞-实验二_第2页
2013242032-弓彩霞-实验二_第3页
2013242032-弓彩霞-实验二_第4页
2013242032-弓彩霞-实验二_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

山山 西西 大大 学学 计计 算算 机机 与与 信信 息息 技技 术术 学学院院 实实验验报报告告 姓 名 弓 彩 霞学 号 2013242032 专业班级软件工程 4 班 课程名称 Java 实验实验日期 2015 6 11 成 绩指导教师杨红菊批改日期 实验名 称 实验 2 面向对象基础和 JAVA 常用类 一 实验目的 1 掌握类的定义 类的实例化方法 2 掌握类中的静态变量和静态方法的使用 3 掌握使用类的构造方法对对象的数据域进行初始化 4 掌握getter和setter的使用 5 了解如何构建一个字符串 掌握常用的 String StringBuffer StringBuilder 类的构造方法的 使用 6 掌握字符串的比较方法 尤其 equals 方法和 比较的区别 7 掌握 String 类常用方法的使用 8 掌握字符串与字符数组和 byte 数组之间的转换方法 9 Date Random 类的常用方法 二 实验内容 1 现在要求设计一个表示学生的类 里面有学生的姓名 学号 年龄 还要有三项成绩 计算机 成绩 数学成绩 英语成绩 要求可以求总分 平均分 最高 最低分 并且可以输出一个学生的完 整信息 请设计此类 提示 程序开发步骤 根据需求定义出所要的类 根据题目中的要求规划出类的属性 所有的属性必须封装 private 所有的属性必须通过getter和setter访问 如果需要增加构造方法 为属性赋初值 适当采用构造方法重载 所有的信息不要类中直接输出 而是交给调用处输出 即在该类中尽量不出现System out println 语句 例如在调用类中输出如下结果 总分 267 70000000000005 平均分 89 23333333333335 最高分 91 4 最低分 87 3 学生信息 学号 100 姓名 John 年龄 20 英语 89 0 计算机 87 3 数学 91 4 程序代码 package Java第二次实验 import java util public class Student private String s name private int s number private int s age private double s computerGrade private double s mathGrade private double s englishGrade public Student String s name int s number int s age double s computerGrade double s mathGrade double s englishGrade this s name s name this s number s number this s age s age this s computerGrade s computerGrade this s mathGrade s mathGrade this s englishGrade s englishGrade public String getS name return s name public void setS name String s name this s name s name public int getS number return s number public void setS number int s number this s number s number public int getS age return s age public void setS age int s age this s age s age public double getS computerGrade return s computerGrade public void setS computerGrade double s computerGrade this s computerGrade s computerGrade public double getS mathGrade return s mathGrade public void setS mathGrade double s mathGrade this s mathGrade s mathGrade public double getS englishGrade return s englishGrade public void setS englishGrade double s englishGrade this s englishGrade s englishGrade public double totalPoints double tp s englishGrade s mathGrade s computerGrade return tp public double averagePoints double ap s englishGrade s mathGrade s computerGrade 3 0 return ap public double topScore double ts s mathGrade if ts s englishGrade ts s englishGrade else if tss englishGrade ls s englishGrade else if ls s computerGrade ls s computerGrade return ls public static void main String args System out println 请输入学生姓名 学号 年龄 及其计算机 数学 英语成绩 请您按顺序输入 Scanner input new Scanner System in Student s1 new Student input next input nextInt input next Int input nextDouble input nextDouble input n extDouble System out println total score s1 totalPoints System out println average score s1 averagePoints System out println top score s1 topScore System out println low score s1 lowScore System out println 学生信息 学生信息 学号 100 姓名 John 年龄 20 英语 89 0 计算机 87 3 数学 91 4 System out println 学号 s1 getS number System out println 姓名 s1 getS name System out println 年龄 s1 getS age System out println 英语 s1 getS englishGrade System out println 计算机 s1 getS computerGrade System out println 数学 s1 getS mathGrade 运行结果贴图 2 账户类Account 设计一个名为Account的类 它包括 一个名为id的int类型私有账户数据域 默认值为0 一个名为balance的double类型私有账户数据域 默认值为0 一个名为annualInterestRate的double类型私有数据域存储当前利率 默认值为0 假设所有的 账户都有相同的利率 一个名为dateCreated的Date类型私有数据域存储账户的开户日期 一个能创建默认账户的无参构造方法 一个能创建带特定id和初始余额的账户的构造方法 id balance和annualInterestRate的访问器和修改器 dateCreated的访问器 一个名为getMonthlyInterestRate 的方法返回月利率 一个名为withDraw的方法从账户提取特定数额 一个名为deposit的方法向账户存储特定数额 实现这个类 编写一个测试程序 创建一个账户ID为1122 余额为20000美元 年利率为4 5 的 Account对象 使用withdraw方法取款2500美元 使用deposit方法存款3000美元 然后打印余额 月 利息以及这个账户的开户日期 程序代码 package Java第二次实验 import java util Date public class Account private int id private double balance private double annualInterestRate private Date dateCreated new Date public Account id 0 balance 0 annualInterestRate 0 dateCreated new Date public Account int id double balance this id id this balance balance public int getId return id public void setId int id this id id public double getBalance return balance public void setBalance double balance this balance balance public double getAnnualInterestRate return annualInterestRate public void setAnnualInterestRate double annualInterestRate this annualInterestRate annualInterestRate public Date getDateCreated return dateCreated public double getMonthlyInterestRate double MonthlyInterestRate annualInterestRate 12 return MonthlyInterestRate public double withDraw double expence balance expence return balance public double deposit double expence balance expence return balance public static void main String args Account a new Account 1122 20000 a setAnnualInterestRate 0 045 a withDraw 2500 a deposit 3000 System out println 账户余额为 a getBalance System out println 账户月利息是 a getMonthlyInterestRate System out println 创户日期 a getDateCreated 运行结果贴图 3 风扇类Fan 设计一个名为Fan的类来表示一个风扇 这个类包括 三个名为SLOW MEDIUM FAST而值是1 2和3的常量表示风扇的速度 一个名为speed的int类型私有数据域表示风扇的速度 默认值为SLOW 一个名为on的boolean类型的私有数据域表示风扇是否打开 默认值为false 一个名为radius的double类型的私有数据域表示风扇的半径 默认值为5 一个名为color的String类型的数据域表示风扇的颜色 默认值为blue 这四个数据域的访问器和修改器 一个创建默认风扇的无参构造方法 一个名为toString 的方法返回描述风扇的字符串 如果风扇是打开的 那么该方法在一 个组合的字符串中返回风扇的速度 颜色和半径 如果风扇没有打开 该方法就返回一个由 fan is off 和风扇颜色及半径组合成的字符串 实现这个类 编写一个测试程序 创建两个fan对象 将第一个对象设置为最大速度 半径为10 颜 色为yellow 状态为打开 将第二个对象设置为中等速度 半径为5 颜色为blue 状态为关闭 通过 调用它们的toString方法显示这些对象 程序代码 package Java第二次实验 public class Fans1 public static final int SLOW 1 public static final int MEDIUM 2 public static final int FAST 3 private int speed private boolean on private double radius public String color public Fans1 speed SLOW on false radius 5 color blue public Fans1 int speed boolean on double radius String color this speed speed this on on this radius radius this color color public int getSpeed return speed public void setSpeed int speed this speed speed public boolean isOn return on public void setOn boolean on this on on public double getRadius return radius public void setRadius double radius this radius radius public String getColor return color public void setColor String color this color color Override public String toString TODO Auto generated method stub String str if on str n该风扇的速度为 speed n该 风扇的颜色 color n该风扇的半径 radius else str fan is off n该风扇的颜色 color n该风扇的半径 radius return str public static void main String args Fans1 f1 new Fans1 FAST true 10 yellow Fans1 f2 new Fans1 MEDIUM false 5 blue System out println f1 f1 toString nf2 f2 toString 运行结果贴图 4 一些网站设定了一些制定密码的规则 编写一个方法 检验一个字符串是否是合法的密码 假 设密码规则如下 1 密码必须至少有8个字符 2 密码只能包括字母和数字 3 密码必须至少有2个数字 编写一个程序 提示用户输入密码 如果该密码符合规则就显示 Valid Password 否则显示 Invalid Password 程序源代码 package Java第二次实验 import java util public class Password public static void main String args System out println Please enter your passWord Scanner input new Scanner System in String passWord input next passWord passWord toLowerCase if passWord length 8 System out println Invalid Password else for int i 0 i a else System out println Invalid Password int count 0 for int i1 0 i1 2 System out println valid Password else System out println Invalid Password 程序运行结果贴图 5 使用下面的方法头编写一个方法 找出某个指定字符在字符串中出现的次数 public static int count String str char a 例如 count Welcome e 返回2 编写一个测试程序 提示用户输入一个字符串 在该字符 串后紧跟着一个字符 然后显示这个字符在字符串中出现的次数 程序源代码 package Java第二次实验 import java util public class CountLetters public static void main String args System out println 请输入一个字符串 Scanner input new Scanner System in String str input next System out println 请输入您要查找的字符 char ch input next charAt 0 count str ch static int count 0 public static int count String str char a for int i 0 i str length i if str charAt i a count System out println a 一共出现了 count 次 return count 程序运行结果贴图 6 编写一个方法 检测两个单词是否互为变位词 如果在不计顺序的情况

温馨提示

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

评论

0/150

提交评论