博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第四周课程总结&试验报告(二)
阅读量:5057 次
发布时间:2019-06-12

本文共 6735 字,大约阅读时间需要 22 分钟。

实验二 Java简单类与对象

实验目的

掌握类的定义,熟悉属性、构造函数、方法的作用,掌握用类作为类型声明变量和方法返回值;
理解类和对象的区别,掌握构造函数的使用,熟悉通过对象名引用实例的方法和属性;
理解static修饰付对类、类成员变量及类方法的影响。
实验内容
(一)写一个名为Rectangle的类表示矩形。其属性包括宽width、高height和颜色color,width和height都是double型的,而color则是String类型的。要求该类具有:

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

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

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

实验代码:

package First;public class Rectangle {         private double width=8,height=20;        private String color="blue";                          public double getHeight() {                return height;                            }            public void setHeight(double height) {                this.height = height;                    }                                     public String getColor() {                return color;            }            public void setColor(String color) {                this.color = color;            }            public void getLength() {                double length=0;                length=(this.height+this.width)*2;                System.out.println("周长为"+length);            }            public double getWidth() {                return width;            }            public void setWidth(double width) {                this.width = width;            }            public void getArea() {                double area=0;                area=this.height*this.width;                System.out.println("面积为"+area);            }                      public static void main(String args[]) {                Rectangle per=new Rectangle();                per.setWidth(7);                per.setHeight(4);                per.setColor("蓝色");                per.getArea();                per.getLength();                System.out.println("长:"+per.getWidth()+"\n高:"+per.getHeight()+"\n颜色:"+per.getColor());    }}

实验结果

1581815-20190920173042276-813755504.png

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

实验代码;

package First;import java.util.Scanner;public class Bank{        private String name,date="2019.9.20";                              private int mima=123456,money=0;           private String ccount="jayking";            public String getName() {            return name;    }            public void setName(String name) {                this.name = name;            }            public String getDate() {                return date;            }            public void setDate(String date) {                this.date = date;            }            public int getMima() {                return mima;            }            public void setMima(int mima) {                this.mima = mima;            }            public int getMoney() {                return money;            }            public void setMoney(int money) {                this.money = money;            }            public String getCcount() {                return ccount;            }            public void setCcount(String ccount) {                this.ccount = ccount;            }            public void username(){                                   System.out.print("请输入用户名字:");                Scanner username = new Scanner(System.in);                String name = username.nextLine();                setName(name);            }            public void ChangePWD(){                                    System.out.print("请输入需要修改的密码:");                Scanner usermima = new Scanner(System.in);                int mima = usermima.nextInt();                setMima(mima);            }            public void all(){                                                    System.out.print("用户名:"+name+"\n开户日期:"+date+"\n账号:"+ccount+"\n密码:"+mima+"\n余额:"+money+"\n");            }            public void Depositsandwithdrawals(){                System.out.print("存款:1\n"+"取款:0\n");                System.out.print("请选择:");                Scanner a = new Scanner(System.in);                int b = a.nextInt();                if(b==0) {                System.out.print("取款数:");                Scanner usermoney = new Scanner(System.in);                int money = usermoney.nextInt();                money=this.money-money;                      setMoney(money);                }                else {                System.out.print("存款数:");                Scanner usermoney = new Scanner(System.in);                int money = usermoney.nextInt();                money=this.money+money;                            setMoney(money);                }            }            public static void main(String[] args) {                System.out.print(" Welcome\n");                System.out.print("进入系统请按:1\n");                System.out.print("请选择输入的序号:");                Scanner a = new Scanner(System.in);                int A = a.nextInt();                int B=0;                Bank user = new Bank();                for(int k=1;k>0;) {                    if(A==1||B==1) {                        System.out.print("开户:1\n"+"更改密码:2\n"+"查询信息:3\n"+"存款取款:4\n");                        System.out.print("请输入你需要办理的业务序号:");                        Scanner q = new Scanner(System.in);                        int Q = q.nextInt();                        if(Q==1) {                            user.username();                        }else if(Q==2){                            user.ChangePWD();                        }else if(Q==3){                            user.all();                        }else if(Q==4){                            user.Depositsandwithdrawals();                        }                        System.out.print("返回菜单:1\n"+"退出服务:9\n");                        System.out.print("请输入序号:");                        Scanner b = new Scanner(System.in);                        B = b.nextInt();                        A=0;                    }else{                        break;                }              }                System.out.print("已退出,感谢您的使用,欢迎下次光临!");            }           }

实验结果

1581815-20190920172249798-993737533.png

Welcome进入系统请按:1请选择输入的序号:1开户:1更改密码:2查询信息:3存款取款:4请输入你需要办理的业务序号:1请输入用户名字:邹健返回菜单:1退出服务:9请输入序号:1开户:1更改密码:2查询信息:3存款取款:4请输入你需要办理的业务序号:23返回菜单:1退出服务:9请输入序号:1开户:1更改密码:2查询信息:3存款取款:4请输入你需要办理的业务序号:2请输入需要修改的密码:199903返回菜单:1退出服务:9请输入序号:1开户:1更改密码:2查询信息:3存款取款:4请输入你需要办理的业务序号:4存款:1取款:0请选择:1存款数:10000返回菜单:1退出服务:9请输入序号:1开户:1更改密码:2查询信息:3存款取款:4请输入你需要办理的业务序号:4存款:1取款:0请选择:0取款数:5555返回菜单:1退出服务:9请输入序号:1开户:1更改密码:2查询信息:3存款取款:4请输入你需要办理的业务序号:3用户名:邹健开户日期:2019.9.20账号:jayking密码:199903余额:4445返回菜单:1退出服务:9请输入序号:9已退出,感谢您的使用,欢迎下次光临!

这次实验让我掌握了类的定义,熟悉属性、构造函数、方法的作用,掌握用类作为类型声明变量和方法返回值;第一题相对于第二题来说还是简单一些的,因为老师上课讲过类似的题目,书上也有这种构造函数的题目,慢慢来还是挺容易写出来的,第二题就感觉有点麻烦了,弄了半天才写出来,然后写出第二题让自己有了一种设置一个小的atm机的成就感,这是以前学c的时候没有体会到的,感觉java非常贴近于生活,而写c的作业只用于解决那些理想性的问题,总体来说,这周不错,以后还得继续加油。

转载于:https://www.cnblogs.com/ZJ999999/p/11558515.html

你可能感兴趣的文章
Ruby元编程:单元测试框架如何找到测试用例
查看>>
[FJOI2016]神秘数(脑洞+可持久化)
查看>>
android配置开发环境
查看>>
PhpStorm本地断点调试
查看>>
iOS----------YYModel
查看>>
比起 Windows,怎样解读 Linux 的文件系统与目录结构?
查看>>
文件修改
查看>>
Can't create handler inside thread that has not called Looper.prepare()
查看>>
图像的双缓存技术
查看>>
微信小程序template模板与component组件的区别及使用方法
查看>>
通过机构查询该机构下,以及下级机构的人员 id
查看>>
好程序员Python自动化运维开发实战 六、流程控制
查看>>
密码生成器
查看>>
制作TortoiseSVN最新版本的中文DLL(转)
查看>>
最小生成树 Prim算法 Kruskal算法实现
查看>>
javaee字符文件的复制
查看>>
选项框
查看>>
android 开发之 - 调用系统闪光灯
查看>>
HTML标签
查看>>
类型转换,随机数
查看>>