首页 > 其他 > 详细

第四周课程总结&试验报告(二)

时间:2019-09-20 01:35:02      阅读:64      评论:0      收藏:0      [点我收藏+]

实验二 Java简单类与对象

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

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

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

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

实验代码:

package number1;

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

实验结果:

技术分享图片

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

实验代码:

package number1;
import java.util.Scanner;
public class robet{
    private String name,date="2019.9.19";
    private int cipher=123456,money=0;
    private String ccount="abcdefg";
        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 getCipher() {
        return cipher;
    }
    public void setCipher(int cipher) {
        this.cipher = cipher;
    }
    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 usercipher = new Scanner(System.in);
            int cipher = usercipher.nextInt();
            setCipher(cipher);
        }
        public void all(){                                     \\用户信息的查询
            System.out.print("用户名:"+name+"    开户日期:"+date+"\n账号:"+ccount+"    密码:"+cipher+"\n余额:"+money+"\n");
        }
        public void Depositsandwithdrawals(){
            System.out.print("存款:1\n"+"取款:0\n");
            System.out.print("请选择:");
            Scanner j = new Scanner(System.in);
            int i = j.nextInt();
            if(i==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 j = new Scanner(System.in);
            int J = j.nextInt();
            int I=0;
            robet user = new robet();
            for(int k=1;k>0;) {
                if(J==1||I==1) {
                    System.out.print("开户:1     "+"更改密码:2\n"+"查询用户信息:3     "+"存取款:4\n");
                    System.out.print("请选择:");
                    Scanner b = new Scanner(System.in);
                    int B = b.nextInt();
                    if(B==1) {
                        user.username();
                    }else if(B==2){
                        user.ChangePWD();
                    }else if(B==3){
                        user.all();
                    }else if(B==4){
                        user.Depositsandwithdrawals();
                    }
                    System.out.print("返回主页面:1\n"+"退出:0\n");
                    System.out.print("请选择:");
                    Scanner i = new Scanner(System.in);
                    I = i.nextInt();
                    J=0;
                }else{
                    break;
            }
          }
            System.out.print("已安全退出");
        }   
}

实验结果:
技术分享图片

Welcome
进入系统请按1
请选择:1
开户:1     更改密码:2
查询用户信息:3     存取款:4
请选择:1
用户名称:黄诺诚
返回主页面:1
退出:0
请选择:1
开户:1     更改密码:2
查询用户信息:3     存取款:4
请选择:2
更改密码:456789
返回主页面:1
退出:0
请选择:1
开户:1     更改密码:2
查询用户信息:3     存取款:4
请选择:4
存款:1
取款:0
请选择:1
存款数:12000
返回主页面:1
退出:0
请选择:1
开户:1     更改密码:2
查询用户信息:3     存取款:4
请选择:4
存款:1
取款:0
请选择:0
取款数:2000
返回主页面:1
退出:0
请选择:1
开户:1     更改密码:2
查询用户信息:3     存取款:4
请选择:3
用户名:黄诺诚    开户日期:2019.9.19
账号:abcdefg    密码:456789
余额:10000
返回主页面:1
退出:0
请选择:0
已安全退出

总结:
老师这两个题目主要是让我们运用封装(private,get...()和set...()语句)。
这一次的作业我尽力了,两个题分别用了我整整一个下午去完成,第一题很简单,就是老师上课讲的知识,主要是第二题,他的要求比较多,尤其是不同方法中的数值的保存,我最开始就是习惯性用C语言的思维,把值直接赋值就行了,可是经过我的多次运行发现每个方法的变量的值对其其他的方法没有影响,后来我又翻了翻书,想了好一会儿才想起老师上课讲的get...()和set...()的语句,才将问题解决(其实如果我两个题同时写的话就很容易找到解决的方法),我的代码还是有些简陋,还有许多需要改进的地方。革命尚未成功,同志仍需努力啊!

第四周课程总结&试验报告(二)

原文:https://www.cnblogs.com/huangnuocheng/p/11553231.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!