• 第四周课程总结&实验报告


    实验二 Java简单类与对象

    实验目的
    掌握类的定义,熟悉属性、构造函数、方法的作用,掌握用类作为类型声明变量和方法返回值;
    理解类和对象的区别,掌握构造函数的使用,熟悉通过对象名引用实例的方法和属性;
    理解static修饰付对类、类成员变量及类方法的影响。

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

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

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

    实验代码

    package 第四周;
    
    	public class Rectangle {
    	    private String color;           //定义String 类型颜色
    	    private double width,height;     //定义宽和高的高度属性
    	    public void setWidth(double width) {   //设置宽度
    	        this.width=width;
    	    }
    	    public void setHeight(double height) {   //设置高度
    	        this.height=height;
    	    }
    	    public void setColor(String color) {   //设置颜色
    	        this.color=color;  
    	    }
    	    public String getColor() {    //取得颜色
    	        return color;
    	    }
    	    public double getWidth() {    //取得宽度
    	        return width;
    	    }
    	    public double getHeight() {   //取得高度
    	        return height;
    	    }
    	    public  double getArea() {    //求矩形面积
    	        return width*height;
    	    }
    	    public double getLength() {    //求矩形周长
    	        return 2*(width+height);    
    	    }
    	   
    	    public static void main(String args[]) {
    	        	Rectangle Regional=new Rectangle();
    	        	Regional.setWidth(8);
    	        	Regional.setHeight(2);
    	            System.out.println(Regional.getArea());    //输出面积
    	            System.out.println(Regional.getLength());  //输出周长
    	    }
    	    
    }
    

    设计思路:提示我局部变量和全局变量有问题,还有静态也有问题。一开始运行后显示的依旧是上一题的答案,百度了后是因为,没有入口。问了同学、查了百度才勉强搞定。
    运行截图:

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

    package 第四周;
    
    	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("计科二班666",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("计科二班666",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("哇,你超级厉害的,初始密码为计科二班666,亲,一定要记住哦!");
    	        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();
    	}
    	    }
    }
    

    设计思路:这个问题不会,我问了问同学,还是有些地方听不懂,感觉自己打不出来,所以参考了他人的代码和思路。https://www.cnblogs.com/521-PENG/p/11551732.html
    实验结果:

    1:开户 2:业务办理
    1
    请输入您的姓名:
    元歌
    哇,你超级厉害的,初始密码为计科二班666,亲,一定要记住哦!
    请输入您的姓名:
    元歌
    请输入您的密码:
    计科二班666
    登陆成功!
    1:土豪想存款 2:没钱过日子了,我要取款 3:变更密码 4:查询黑卡卡号 5:查询姓名 6:查询开户日期 7:当前余额 0:返回
    1
    存款金额:
    28921473847736541984
    存款成功!
    1:土豪想存款 2:没钱过日子了,我要取款 3:变更密码 4:查询黑卡卡号 5:查询姓名 6:查询开户日期 7:当前余额 0:返回
    4
    您的黑卡卡号:uniqueid000
    1:土豪想存款 2:没钱过日子了,我要取款 3:变更密码 4:查询黑卡卡号 5:查询姓名 6:查询开户日期 7:当前余额 0:返回
    6
    您的开户日期为:Fri Sep 20 17:06:14 CST 2019
    1:土豪想存款 2:没钱过日子了,我要取款 3:变更密码 4:查询黑卡卡号 5:查询姓名 6:查询开户日期 7:当前余额 0:返回
    5
    您的姓名为:元歌
    1:土豪想存款 2:没钱过日子了,我要取款 3:变更密码 4:查询黑卡卡号 5:查询姓名 6:查询开户日期 7:当前余额 0:返回
    2
    取款金额:
    847217846718
    284619846918
    取款成功!
    1:土豪想存款 2:没钱过日子了,我要取款 3:变更密码 4:查询黑卡卡号 5:查询姓名 6:查询开户日期 7:当前余额 0:返回
    7
    您的余额为:2.8921473563116696E19
    1:土豪想存款 2:没钱过日子了,我要取款 3:变更密码 4:查询黑卡卡号 5:查询姓名 6:查询开户日期 7:当前余额 0:返回
    0
    1:开户 2:业务办理
    


    总结:java开始逐渐变得难,要记得东西很多,一个String类常用操作方法就21种,一节课讲的内容很多。虽然程序在运行时看不到摸不着,但李津老师平时讲的很认真,还是能听懂一些。上课时要不停的翻书,知识点讲的多,我平时还是要多实践才行。

  • 相关阅读:
    两种三维点云密度聚类方法的研究与对比
    C++ string和char char*的转换
    七大排序算法总结
    map下标操作和insert区别
    c++ map 使用自定义结构做关键字
    BagFromImage安装与使用
    安装ipython notebook
    c++基本知识
    Python爬虫第一集
    91. Decode Ways
  • 原文地址:https://www.cnblogs.com/qiuf99999/p/11558047.html
Copyright © 2020-2023  润新知