《java标准实验报告张俊怡》由会员分享,可在线阅读,更多相关《java标准实验报告张俊怡(15页珍藏版)》请在金锄头文库上搜索。
1、 东北大学软件学院 JAVA 语言程序设计 课程标准实验报告(面向过程)专 业: 软件工程 班 级: 1405 学 号: 20144706 姓 名: 张俊怡 完成时间:2015/5/10指导教师:邓卓夫评定成绩: 实验一 Java 类和对象一、实验目的(1) 掌握 JDK 的安装步骤,理解环境变量 PATH, CLASSPATH 的作用,以及它们的设置方法。掌握如何在命令行下编译和运行 Java 程序,掌握 Editplus 编辑器的使用方法。(2) 通过编程和上机实验理解 Java 语言如何体现面向对象编程基本思想,了解类的封装方法,以及如何创建类和对象,掌握对象和对象引用之间的关系,了解成
2、员变量和成员方法的特性,掌握数组的定义方法,掌握类构造方法的定义和构造方法的使用,掌握 OOP 方式进行程序设计。(3) 了解并掌握 Java 里边的基本语法和基本语法的用法,熟悉常用关键字,能够顺利将 c 语言中的知识过渡到 Java 中,真正能够运用 Java,领会面向对象的内涵。2、实验内容与要求1. 安装开发环境 JDK,掌握 eclipse 的使用方法,编写出第一个 Java 程序。 2.编写 35 选 7 的彩票程序,随机产生 7 个 1-35 之间的中奖号码,产生的 7 个号码应保证互不相同,采用冒泡排序将 7 个号码排序,从键盘输入 7 个 1-35 之间的号码(必须为整数),
3、输入的 7 个号码要保证互不相同,将用户输入的号码与中奖号码进行比较,判断有几个号码相同,根据中奖号码的个数,判断用户中了几等奖。要求(这是对 Java 基本语法的练习),通过这个案例掌握 Java 语言设计的基本语法三、实验过程(包括代码的编写以及代码的调试)JDK 开发环境的设置(1)下载好 eclipse(2)设置环境变量 PATH 和 CLASSPATH:(3)并且在设置好环境变量后学会如何建立工程和类,编写出第一个 Java 程序(4)编写彩票程序时,先声明两个数组,然后利用随机数生成 7 个不相同的随机数,然后排序,然后在从键盘终端输入 7 个数字,进行比较中了对少个数字,最后通过
4、 switch 判断中了什么奖。(5)调试过程,很容易忽略输入数字的范围,所以要写一段代码进行限定4、关键部分代码及其逻辑结构图for(int i=0;icodeb+1)int t=codeb;codeb=codeb+1;codeb+1=t;(数字排序代码段)for(int i=0;i35)System.out.println(请再次 输入 1-35 之间的整数);i-;(从键盘输入数字代码段)逻辑结构图: 生成 7 个随机数确保 7 个数字不相等将数字排序 从键盘读入 7 个数判等Switch中奖5、运行结果6、实验技巧通过声明两个数组来分别储存生成数据和输入数据 7、实验小结(主要写一些实
5、验中出现的问题,应注意的事项,以及实验体会)1、很容易忽略输入数字的范围,所以要写一段代码对数字进行限定2、对随机数的判等很重要,不能生成一样的数,在判等的过程中,如果出现了相等的数字,一定记住 i- -;并且加上一个 break 跳出循环从新生成一个随机数。8、实验类型设计型 实验二 Java 类和对象(二)1、实验目的1、理解面向对象与面向过程在编程思想上的差异2、掌握如何定义一个类,熟练掌握构造方法的定义和调用,掌握包的概念,掌握类中修饰符(public, protected, private)的使用方法和意义3、掌握 this 关键字的使用,掌握 static 关键字的使用方法,理解静
6、态变量、静态方法和静态代码块的意义4、掌握一维数组和二维数组的定义和使用方法5、掌握集合类 Vector 和 ArrayList 的使用方法,并理解如何将集合类使用为动态数组,掌握 String, StringBuffer 和 StringTokenizer 的使用方法。二、实验内容与要求1 具体满足如下要求:(1) 为顾客类创建一个带有 4 个参数的构造函数,初始化类中的 4 个成员变量;(2) 为了去掉冗余,将顾客的业务放到顾客类的 run()方法中;(3) 在测试类中创建 4 个顾客对象,存储在一个对象数组中,提示用户输入账号,根据账号确定执行哪个顾客的业务,即执行相应顾客的 run 方
7、法(使用 for 循环);(4) 顾客类中添加一个静态变量 allNum,统计该银行一共有多少位顾客,在构造方法中将变量的值+1。(5) 在顾客类中添加一个转账的方法(7) 创建一个管理员类,类中包括 id,name ,password 等数据,类中提供添加顾客、删除顾客、计算储蓄总额、打印某个顾客的信息等方法,具体定义及功能列举如下: 添加顾客:方法头可以定义为 void addCust(Vector st),方法中提示管理员输入账号,密码,开户金额,顾客名字,用这些信息创建一个 Cutomer 类,并添加到 st 参数传进来的 Vector 中。 删除顾客:方法头可以定义为 void de
8、leteCust(Vector st),方法中提示输入想要删除的顾客的账号,遍历 st 参数传进来的 Vector,找到后,将其删除。 计算储蓄总额:方法头可以定义为 void sum(Vector st),遍历 st 参数传进来的 Vector,将所有账号的金额加起来。 打印某个顾客的信息:方法头可以定义为 void printOnePerson(Vector st),提示输入想要查询顾客的账号,遍历 st 参数传进来的 Vector,找到后,将该顾客的信息打印出来。三、实验过程(包括代码的编写以及代码的调试)编程如下:1、通过声明容器添加客户信息,建立一个客户的类,在类中声明各种成员方法来
9、完成取钱,存钱,转账等功能2、再建立一个工作人员的类,在类里定义成员变量和成员方法,实现,打印客户信息,开户,删除等功能3、在主方法中编写 switch 代码,各种选择调用调试:1、在调试过程中,由于有多个类,类与类之间方法的调用特别混乱,并且很容易忘记实例化,导致代码无法运行2、开始在实现转账功能的时候忘记退出账户,导致无法转账(也就是不能从新登陆另一个人账户) ,后来从新定义登陆函数,在实现了能够从新调用函数后,也就能登陆另一个账号了4、关键部分代码及其逻辑结构图转账部分关键代码(同时也是觉得的难点)for(int i=0;i0)this.balance = n;else throw ne
10、w NegativeAmountException(余额错误);/查询余额方法,返回当前余额public double getBalance()return this.balance;/存款方法,存款数额amount; 如果存款数目小于0抛出异常public void deposit(double amount)if(amount=0)balance+=amount;else throw new NegativeAmountException(存款出错 );/取款方法,取款数额amount; 如果取款数目小于0抛出异常public void withdraw(double amount)if(amount0)throw new NegativeAmountException(操作错误 );else if(balanceamount)throw new NegativeAmountException(取款出错 );elsebalance-=amount; 五:运行结果六、实验总结(主要写一些实验中出现的问题,应注意的事项,以及实验体会)别忘了 super(s);别忘了添加 抛出声明 throws NegativeAmountException(否者会报错)实验类型:设计型