2019上JAVA第四周实验报告

Java实验报告

班级 计算机科学与技术二班 学号 20188442 姓名 吴怡君
完成时间 2019/9/19
评分等级
实验二 Java简单类与对象
实验目的
掌握类的定义,熟悉属性、构造函数、方法的作用,掌握用类作为类型声明变量和方法返回值;
理解类和对象的区别,掌握构造函数的使用,熟悉通过对象名引用实例的方法和属性;
理解static修饰付对类、类成员变量及类方法的影响。

实验内容

  1. 写一个名为Rectangle的类表示矩形。其属性包括宽width、高height和颜色color,width和height都是double型的,而color则是String类型的。要求该类具有:

(1) 使用构造函数完成各属性的初始赋值

(2) 使用get…()和set…()的形式完成属性的访问及修改

(3) 提供计算面积的getArea()方法和计算周长的getLength()方法

  1. 银行的账户记录Account有账户的唯一性标识(11个长度的字符和数字的组合),用户的姓名,开户日期,账户密码(六位的数字,可以用0开头),当前的余额。银行规定新开一个账户时,银行方面提供一个标识符、账户初始密码123456,客户提供姓名,开户时客户可以直接存入一笔初始账户金额,不提供时初始余额为0。定义该类,并要求该类提供如下方法:存款、取款、变更密码、可以分别查询账户的标识、姓名、开户日期、当前余额等信息。


import java.util.Scanner;
import java.util.Date;

class Handle {
    private String sign,password,name="none",date;
    private double balance;
    public Handle(String password,double balance){
        this.setPassword(password);
        this.setBalance(balance);
    }
    public String getsign() {
        return sign;
    }
    public void setsign(String sign) {
        this.sign = sign;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public double getBalance() {
        return balance;
    }
    public void setBalance(double balance) {
        this.balance = balance;
    }
    public String getDate() {
        return date;
    }
    public void setDate(String date) {
        this.date = date;
    }
}

public class 银行系统 {
    static Handle per[]=new Handle[100];
static int i=-1;
static int id=0;
static String s;
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        for(int j=0;j<100;j++){
            per[j]=new Handle("123456",0.0);
            }
        zhuyemian();
    }

    public static void yewu(int i) {
        // TODO Auto-generated method stub
        System.out.println("1:存款 2:取款 3:变更密码 4:查询账户标识 5:查询姓名 6:查询开户日期 7:当前余额 0:返回");
        Scanner input=new Scanner(System.in);
        switch(input.nextInt()){
        case 1:System.out.println("存款金额:");
        per[i].setBalance(input.nextDouble()+per[i].getBalance());
        System.out.println("存款成功!");yewu(i);
        case 2:System.out.println("取款金额:");
        if(per[i].getBalance()-input.nextDouble()<0){
            System.out.println("余额不足!");yewu(i);
        }
        else{
        per[i].setBalance(per[i].getBalance()-input.nextDouble());
        System.out.println("取款成功!");yewu(i);
        }
        case 3:System.out.println("请输入新密码:");
        per[i].setPassword(input.next());
        System.out.println("修改成功!");yewu(i);
        case 4:System.out.println("您的账户标识为:"+per[i].getsign());yewu(i);
        case 5:System.out.println("您的姓名为:"+per[i].getName());yewu(i);
        case 6:System.out.println("您的开户日期为:"+per[i].getDate());yewu(i);
        case 7:System.out.println("您的余额为:"+per[i].getBalance());yewu(i);
        case 0:zhuyemian();
        }
    }

    public static void denglu() {
        // TODO Auto-generated method stub
        System.out.println("请输入您的姓名:");
        Scanner input=new Scanner(System.in);
        s=input.next();
        i=-1;
        while(i<99){
            i++;
            if(s.equals(per[i].getName())){
                System.out.println("请输入您的密码:");
                if(input.next().equals(per[i].getPassword())){
                    System.out.println("登陆成功!");
                    yewu(i);
                }
                else{
                    System.out.println("姓名或密码有误,请重新输入");
                    denglu();
                }
            }
        }
        System.out.println("没有此用户!");
        zhuyemian();
    }

    public static void kaihu() {
        // TODO Auto-generated method stub
        per[id]=new Handle("123456",0.0);
        if(id>=100){
            s="uniqueid"+id;
            per[id].setsign(s);
}else if(id>=10){
            s="uniqueid0"+id;
            per[id].setsign(s);
}else{
            s="uniqueid00"+id;
            per[id].setsign(s);
}
        Date date=new Date();
        per[id].setDate(date.toString());
        System.out.println("请输入您的姓名:");
        Scanner input=new Scanner(System.in);
        per[id].setName(input.next());
        System.out.println("开户成功,您的初始密码为123456,请尽快更改!");
        id++;
        denglu();
    }

    public static void zhuyemian() {
        // TODO Auto-generated method stub
        System.out.println("1:开户 2:业务办理");
        Scanner input =new Scanner(System.in);
        s=input.next();
        if(s.equals("1")){
kaihu();
}
        if(s.equals("2")){
denglu();
}
    }
}
运行结果
1:开户 2:业务办理

1
请输入您的姓名:
    吴怡君
开户成功,您的初始密码为123456,请尽快更改!
请输入您的姓名:
    吴怡君
请输入您的密码:
    123456
登陆成功!
1:存款 2:取款 3:变更密码 4:查询账户标识 5:查询姓名 6:查询开户日期 7:当前余额 0:返回
    3
请输入新密码:
    990903
修改成功!
1:存款 2:取款 3:变更密码 4:查询账户标识 5:查询姓名 6:查询开户日期 7:当前余额 0:返回
    1
存款金额:
    10000000
存款成功!
1:存款 2:取款 3:变更密码 4:查询账户标识 5:查询姓名 6:查询开户日期 7:当前余额 0:返回
    4
您的账户标识为:uniqueid000
1:存款 2:取款 3:变更密码 4:查询账户标识 5:查询姓名 6:查询开户日期 7:当前余额 0:返回
    7
您的余额为:1.0E7
1:存款 2:取款 3:变更密码 4:查询账户标识 5:查询姓名 6:查询开户日期 7:当前余额 0:返回
        2
取款金额:
    10000000
取款成功!
1:存款 2:取款 3:变更密码 4:查询账户标识 5:查询姓名 6:查询开户日期 7:当前余额 0:返回
实验过程 

1. 写一个名为Rectangle的类表示矩形。其属性包括宽width、高height和颜色color,width和height都是double型的,而color则是String类型的。

package 面对对象Java开发程序设计;

public class Rectangle {
    public static void main(String args[]){
        double width=3,height=4;
        String color="blue";
        Rectangle Rec = new Rectangle( width, height, color);
        Rec.getArea();
        Rec.getLength();
        Rec.getColor();
        System.out.println("面积="+Rec.getArea()+",周长="+Rec.getLength()+",颜色:"+Rec.getColor());
    }
         private double width, height;
         private String color;
        public Rectangle(double width,double height,String color){
            this.setWidth(width);
            this.setHeight(height);
            this.setColor(color);
        }
        public void setWidth(double w){
            width = w;
        }
        public void setHeight(double h){
            height = h;
        }
        public void setColor(String c){
            color = c;
        }
        public double getWidth(){
            return width;
        }
        public double getHeight(){
            return height;
        }
        public String getColor(){
            return color;
        }
        public double getArea(){
            return width*height;
        }
        public double getLength(){
            return (width+height)*2;
        }

}

课程总结:通过学习,我感觉学的不错,老师教的很好!李津老师讲课非常有活力,每堂课都自己操作,然后每个知识点讲的也是非常的特撤,JAVA类的基本构造规则啊,一讲就懂。运用起来非常方便,类也讲了不少东西了,基本都学到了。

具体思路:矩形的封装思路比较简单,看看书都知道,很简单的东西。
关于银行系统的思路很清晰:首先要明确题目要求,然后用姓名做密码,用字符控制用银行系统的功能,结合收取的信息完成。
目前只是个简单程序,还有很多问题,比如说开户这里最多达到1010,存钱是double型,所以有限制,所以后续可以继续优化其功能。
总体来说JAVA没有C语言那么多算法,但是调用的方法和有些东西却多得多,所以要持续努力。

原文地址:https://www.cnblogs.com/521-PENG/p/11551732.html

时间: 2024-11-09 07:47:36

2019上JAVA第四周实验报告的相关文章

20145301《Java程序设计》实验报告一:Java开发环境的熟悉

20145301<Java程序设计>实验报告一:Java开发环境的熟悉 课程:Java程序设计 实验名称:Java开发环境的熟悉 实验目的与要求: 1.没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程: 2.完成实验.撰写实验报告,实验报告模板见QQ群,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等).解决办法(空洞的方法如“查网络”.“问同学”.“看书”等一律得0分)以及分析(从中可以得到什

20145326《Java程序设计》实验二Java面向对象程序设计实验报告

20145326<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验步骤 一.单元测试 1. 三种代码·伪代码·产品代码·测试代码Example:需求:我们要在一个MyUtil类中解决一个百分制成绩转成“优.良.中.及格.不及格”五级制成绩的功能. 伪代码: 百分制转五分制: 如果成绩小于60,转成“不及格” 如果成绩在60与70之间,转成“

2019春第四次实验报告

2019春第四次实验报告 一.实验项目名称 flappy bird 二.实验项目功能描述 用户通过空格键控制小鸟躲过障碍物 三.项目模块结构介绍 四.实现界面展示 五.代码托管链接 https://gitee.com/wenyizhang999/ZWY/blob/master/%E5%B0%8F%E9%B8%9F.cpp 六.实验总结 问题:没有声音,没有图片 解决方法:根据书上提供的材料下载图片,在根据要求的格式上传文件地址 总结:第五章内容和以前学的东西联系上了,文件的储存及使用,越到后期越

《Java 程序设计》实验报告汇总

<Java 程序设计>实验报告汇总 20145207<Java程序设计>实验一 (Java开发环境的熟悉)实验报告 20145207<Java程序设计>实验二 (Java面向对象程序设计)实验报告 20145207<Java程序设计>实验三 (敏捷开发与XP实践)实验报告 20145207<Java程序设计>实验四 ( Android程序设计)实验报告 20145207<Java程序设计>实验五 (Java开发环境的熟悉)实验报告

java第二次实验报告

课程:Java实验   班级:201352     姓名:黄坤  学号:2015226 成绩:           指导教师:娄佳鹏     实验日期:15.05.05 实验密级:         预习程度:       实验时间: 仪器组次:         必修/选修:选修    实验序号:2 实验名称:java面向对象程序设计 实验目的与要求: 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5.

java项目——数据结构实验报告

java项目——数据结构总结报告 20135315  宋宸宁 实验要求 1.用java语言实现数据结构中的线性表.哈希表.树.图.队列.堆栈.排序查找算法的类. 2.设计集合框架,使用泛型实现各类. 3.API的编写,并导出. 4.使用TDD模式,对程序进行测试,利用TestSuite将各测试类整合到一起. 5.与小组成员实现代码的整合. 实验设计过程 首先自学集合框架章节的内容,初步设计相关的类. 根据数据结构课本的章节分类,实验各数据结构类. 在类的编写过程中,经过老师的指导,我准备使用泛型

java第二次实验报告20135231

Java实验报告二:Java面向对象程序设计 20135231 何佳 实验要求: 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解设计模式 实验内容: (一)单元测试 (二)面向对象三要素 (三)设计模式初步 (四)练习 实验步骤: (一)单元测试     (1) 三种代码 编程是智力活动,不是打字,编程前要把干什么.如何干想清楚才能把程序写对.写好.与目前不少同学一说编程就打开编辑器写代码不

第四周实验报告和总结

写一个名为Rectangle的类表示矩形.其属性包括宽width.高height和颜色color,width和height都是double型的,而color则是String类型的.要求该类具有: (1) 使用构造函数完成各属性的初始赋值 (2) 使用get…()和set…()的形式完成属性的访问及修改 (3) 提供计算面积的getArea()方法和计算周长的getLength()方法 设计: 创建一个长为8cm,宽为4cm,颜色Red的Rectangle的实例,用变量r1表示,再创建一个长6cm

java程序设计课程实验报告3

北京电子科技学院(BESTI) 实     验    报     告 课程:java程序设计    班级:1353  姓名:陈都  学号:20135328 成绩:             指导教师:娄嘉鹏   实验日期:2013.6.4 实验密级:         预习程度:             实验时间: 仪器组次:          必修/选修:选修    实验序号:3 实验名称:          敏捷开发与XP实践 实验目的与要求:    1.    XP基础 2.   XP核心实践