zoukankan      html  css  js  c++  java
  • 第四周总结和实验报告二

    一、 实验目的

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

    二、 实验内容

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

    实验代码:

    public class Rectangle {
    	private double width;
    	private double 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 area() {
    				return width*height;
    			}
    			public double length() {
    				return (width+height)*2;
    			}
    };
    

    测试代码:

    public class text1{
    	public static void main(String args[]) {
    		Rectangle rect = null;
    		rect =new Rectangle(5,6,"blue");
    		System.out.println("宽:"+rect.getWidth());
    		System.out.println("高:"+rect.getHeight());
    		System.out.println("颜色:"+rect.getColor());
    		System.out.println("面积:"+rect.area());
    		System.out.println("周长:"+rect.length());
    	}
    }
    

    测试结果:

    总结:结合书上的例子写的,先从最基本的类开始分析,有一些基本程序设计思路了,而且定义变量时类型要慎重,数字不用引号,必须进行封装。

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

    (1)实验代码:

    import java.util.Date;
    public class Account {
    private String id;
    private String name;
    private Date tim;
    private String mima;
    private int money;
    
    public Account(String id, String name, int money) {
    	super();
    	this.id = id;
    	this.name = name;
    	this.tim = new Date();
    	this.mima = "123456";
    	this.money = money;
    }
    
    public String getId() {
    	return id;
    }
    
    public void setId(String id) {
    	this.id = id;
    }
    
    public String getName() {
    	return name;
    }
    
    public void setName(String name) {
    	this.name = name;
    }
    
    public Date getTim() {
    	return tim;
    }
    
    public void setTim(Date tim) {
    	this.tim = tim;
    }
    
    public String getMima() {
    	return mima;
    }
    
    public void setMima(String mima) {
    	this.mima = mima;
    }
    
    public int getMoney() {
    	return money;
    }
    
    public void setMoney(int money) {
    	this.money = money;
    }
    
    public void change(){
    	Scanner sc = new Scanner(System.in);
    String mima=sc.nextLine();
    	this.mima=mima;
    	sc.close();
    }
    
    	public void withdraw(int withdrawa) {
    		money-=withdrawa;
    		System.out.print("此次取款为:"+withdrawa);
    		System.out.print("账户余额为:"+money);
    	}
    
    	public void deposit(int amount) {
    		money+=amount;
    		System.out.print("此次存款为:"+amount);
    		System.out.print("账户余额为:"+money);
    }
    }
    

    测试类:

    (2)实验结果

    (3)总结:花了一天的时间在百度和同学的提醒帮助下完成的,发现了很多细节问题与盲点,比如变量不能轻易改变类型,字符串不能转化成int;时间用Date比较方便;搞懂Java关键字的意思也很重要;String的使用还得继续琢磨;还有学会使用了eclipse的很多快捷键。

    第四周总结:

    1.这一周学习了String类两种对象实例化方式的区别:一是直接赋值(开一块,自动保存在对象池),二是使用new调用构造方法(开两块,不自动)。
    以及String类中的常见几种操作方法,比如public char[ ]toCharArray()...
    还学了对象数组(使用时数组中的每一个对象都必须实例化)
    系统常见包(打包)以及import语句(导入类)。
    2.String类中的方法要求理解记忆,真的很难...还有对象数组初始化的两种形态区别不太理解
    3.一个字符串就是一个String类的匿名对象,但是匿名对象上星期学的不太记得了,需要及时复习..

  • 相关阅读:
    Linux下环境变量配置错误 导致大部分命令不可以使用的解决办法
    问题1:kafka的message包括那些?
    zabbix4.4
    jdk1.8安装
    linux 环境python3安装
    Zabbix应用监控
    zabbix4.0.21部署
    AtCoder Beginner Contest 187
    Codeforces Round #690 (Div. 3)
    AtCoder Beginner Contest 185
  • 原文地址:https://www.cnblogs.com/saury/p/11519690.html
Copyright © 2011-2022 走看看