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

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

课程总结

这周主要学习了String类的一些操作方法,学习了函数构造,还简单的了解了包的概念,我上课还是会经常走神,课后我有巩固上课所学的知识。虽说还有一些地方弄得不是特别懂,不过比起前两周来说已经要好很多。

实验报告(二)

1.写一个名为Rectangle的类表示矩形。其属性包括宽width、高height和颜色color,width和height都是double型的,而color则是String类型的。要求该类具有:
(1) 使用构造函数完成各属性的初始赋值

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

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

package shiyans;

class Demol {
	private double width,height;
    private String color;
    public Demol(double width,double height,String color){
    	this.setColor(color);
        this.setWidth(width);
        this.setHeight(height);
 }
public void tell() {
	System.out.println("面积:"+getArea()+"周长:"+getLength());
	System.out.println("颜色:"+getColor());
}
public double getWidth() {
	return width;
}
public void setWidth(double width) {
	this.width = width;
}
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 double getArea(){
    return (getWidth()*getHeight());
}
public double getLength(){
    return (getWidth()+getHeight())*2;
}
}
public class Ce{
	public static void main(String[] args) {
		Demol ce=new Demol(20,30,"红色");
		ce.tell();
	}
}


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

package shiyans;

import java.util.Scanner;
class Account {
    private String accId;
    private double money;
    String code;
    private String date;
    private String name;
    public Account(String accId, String name,String date){
        this(accId, name, 0,date);
    }

    private Account(String accId, String name, double money,String date) {
        this.accId = accId;
        this.name = name;
        this.money = money;
        this.code="123456";
        this.date=date;
    }

    public void saveMoney(double money) {
        if (money <= 0) {
            System.out.println("存款金额必须大于0");
        }
        this.money += money;
        System.out.println("存款成功"+"\n"+"账户余额:"+money);
    }

    public double getMoney(double money) {
        if (money <= 0) {
            System.out.println("取款金额必须大于0");
            return 0;
        }
        if (this.money <= money) {
            System.out.println("余额不足,无法取款");
            return 0;
        }
        this.money -= money;
        System.out.println("取款成功"+"\n"+"账户余额:"+money);
        return money;
    }
    public String alter(String code){
        this.code=code;
        System.out.println("修改成功");
        return code;
    }

    public double getBalance() {
        return this.money;
    }

    public double getOverdraft() {
        return 0;
    }
    public void tell(){
        System.out.println("账户:"+accId+"\n"+"姓名:"+name+"\n"+"开户日期"+date+"\n"+"余额:"+money+"\n\n\n");
    }
    public void tell1(){
        System.out.println("账户:"+accId);
    }
    public void tell2(){
        System.out.println("姓名:"+name);
    }
    public void tell3(){
        System.out.println("余额:"+money);
    }
}
class Ce{
    public static void main(String[] args){
        System.out.println("请输入开户人姓名");
        Scanner m=new Scanner(System.in);
        String v=m.next();
        System.out.println("请输入开户日期");
        Scanner p=new Scanner(System.in);
        String g=p.next();
        Account per=new Account("c1476351119",v,g);
        per.tell();
        System.out.println("请输入密码");
        Scanner x=new Scanner(System.in);
        String chr=x.next();
        if(chr.equals(per.code)){
            System.out.println("1.取款\n2.存款\n3.变更密码\n4.账户标识\n5.姓名\n6.当前余额"+"\n\n\n");
            Scanner n=new Scanner(System.in);
            int t=n.nextInt();
            switch(t){
                case 1:
                    System.out.println("请输入取款金额");
                    Scanner q=new Scanner(System.in);
                    double y=q.nextDouble();
                    per.getMoney(y);
                    break;
                case 2:
                    System.out.println("请放入存款金额");
                    Scanner c=new Scanner(System.in);
                    double s=c.nextDouble();
                    per.saveMoney(s);
                    break;
                case 3:
                    Scanner z=new Scanner(System.in);
                    String b=z.next();
                    per.alter(b);
                    break;
                case 4:
                    per.tell1();
                    break;
                case 5:
                    per.tell2();
                    break;
                case 6:
                    per.tell3();
                    break;
            }
        }
        else{
            System.out.println("密码错误");
        }
    }
}

posted @ 2019-09-20 18:51  星殤之寂  阅读(107)  评论(1编辑  收藏  举报