zoukankan      html  css  js  c++  java
  • 第四周课程总结&实验报告(二)

    实验报告(二)

    1.写一个名为Rectangle的类表示矩形。

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

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

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

    (1).实验代码:

    package 测试;
    
    public class Rectangle {
    	private double width;
    	private double height;
    	private String color;
    	public double getWidth() {
    		return width;
    	}
    	public void setWidth(double n) {
    		width=n;
    	}
    	public double getHeight() {
    		return height;
    	}
    	public void setHeight(double n) {
    		height=n;
    	}
    	public String getColor() {
    		return color;
    	}
    	public void setColor(String n) {
    		color=n;
    	}
    	public Rectangle(double width,double height,String color) {
    		this.setWidth(width);
    		this.setHeight(height);
    		this.setColor(color);
    	}
    	public double getArea() {
    		return width*height;
    	}
    	public double getLength() {
    		return width*2+height*2;
    	}
    	public static void main(String[] args) {
    		Rectangle rec=new Rectangle(6, 12, "蓝色");
    		System.out.println("矩形的宽:"+rec.getWidth());
    		System.out.println("矩形的高:"+rec.getHeight());
    		System.out.println("矩形的颜色:"+rec.getColor());
    		System.out.println("矩形的面积:"+rec.getArea());
    		System.out.println("矩形的周长:"+rec.getLength());
    	}
    }
    

    (2)实验运行结果截图:

    (3)实验大致思路:

    定义多个函数,用构造函数进行初始赋值,get...(),set...(),用于访问和修改数据,getArea()和getLength()函数分别计算面积和周长.

    (4)实验中遇到的问题:

    在进行操作的时候有些迷惑,不是很清楚这些函数的意思,在查书还有百度的帮助下,就明白和C语言的函数有很多地方相像,就是语法会有不同,这道题目让我进一步的了解了方法的构筑.

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

    (1).实验代码:

    package 测试;
    import java.util.Date;
    import java.util.Scanner;
    public class Account {
    	private String id;
    	private String name;
    	private String password;
    	private Date date;
    	private double balance;
    	public String getId() {
    	    return id;
    	}
    	public void setId(String n) {
    	    id=n;
    	}
    	public String getName() {
    	    return name;
    	}
    	public void setName(String n) {
    	    name=n;
    	}
    	public Date getDate() {
    	    return date;
    	}
    	public void setDate(Date time) {
    	    date=time;
    	}
    	public String getPassword() {
    	    return password;
    	}
    	public void setPassword(String n) {
    	    password=n;
    	}
    	public double getBalance() {
    	    return balance;
    	}
    	public void setBalance(double num) {
    	    balance=num;
    	}
    	public void cun(double num) {
    		this.balance=this.balance+num;
    	}
    	public void qu(double num) {
    		this.balance=this.balance-num;
    	}
    	public Date date() {
    		return date;
    	}
    	public void changepassword() {
    	    Scanner sc=new Scanner(System.in);
    	    System.out.println("请输入新密码:");
    	    String password=sc.nextLine();
    	    setPassword(password);
    	}
    	public Account(String id,String name,String password,double balance) {
    	    this.setId(id);
    	    this.setName(name);
    	    this.date=new Date();
    	    this.setPassword(password);
    	    this.setBalance(balance);
    	}
    	public static void main(String[] args) {
    		int i;
    		double num;
    		String n;
    		Scanner sc=new Scanner(System.in); 
    	    Account a=new Account("abc12345678","朱","666666",1000);//基础账户
    	    System.out.println("是否修改密码:1.是,2否(输入数字)");
    	    
    	    i=sc.nextInt();
    	    if(i==1) {
    	    	a.changepassword();
    	    }
    	    System.out.println("存取钱:1.存钱,2取钱3.不进行存取(输入数字)");
    	    i=sc.nextInt();
    	    if(i==1) {
    	    	System.out.println("请输入存入金额: ");
    	    	num=sc.nextDouble();
    	    	a.cun(num);
    	    }
    	    if(i==2) {
    	    	System.out.println("请输入取出金额: ");
    	    	num=sc.nextDouble();
    	    	a.qu(num);
    	    }
    	    System.out.println("是否查询当前账户:1.是,2否(输入数字)");
    	    i=sc.nextInt();
    	    if(i==1) {
    	    System.out.println("账户标识:"+a.getId());
    	    System.out.println("密码:"+a.getPassword());//用于显示修改密码成功与否
    	    System.out.println("姓名:"+a.getName());
    	    System.out.println("开户日期:"+a.date());
    	    System.out.println("账户余额:"+a.getBalance());
    	}
    
    	
    	}
    	
    }
    
    

    (2)实验运行结果截图:

    (3)实验大致思路:

    和第一题类似,定义多个get..(),set...()型的函数用于访问和修改数据,并定义修改密码的函数还有存取钱的函数.最后输出各种信息.

    (4)实验中遇到的问题:

    对于输入时间还是百度出来的使用方法,使用import java.util.Date;放在代码头就可以了,其他的问题就是不熟悉输入语法,还是进行了一波百度才弄清楚输入的模式,java和C语言输入的区别有点大,java要复杂不少.
    我现在无法进行所谓的开户的操作,只能在一个结构体里面进行修改,也就是默认是已经进入了银行的系统,可以进行修改密码,存取款的操作,开不同的户我想可能要用到链表,而我现在在java不会这种操作,这道题虽然不需要进行开户,以及用标识和密码来查询账户数据的操作,但是我觉得以后可能会有这种题,所以说我还是学的太浅了

    第四周课程总结:

    java的学习已经到了第四周了,java感觉还是很陌生,在做题的时候总是要不停的翻书,查资料,还是学的太少,java那些语法的用法还不是很懂,定义不是很清楚,本周重点学习了String类得使用方法,有2种实例化方式,一种直接赋值,一种通过new赋值,还有String比较方法,知道了"=="和equals()的不同,前者对比内存地址,后者对比内容.还有String类得常用操作方法,还有就是String 对象定义之后,那它的值就无法改变了.还学习了对象数组的概念,声明的方法和初始化,不过这次题目没用到.总之在这几周的学习里能感觉到自己的提升,不过java现在要了解的东西太多(书都那么厚一本),现在还处于一种迷迷糊糊的状态,在以后的练习中这种状态应该会缓解,毕竟熟能生巧,用多了,自然就会用了.

  • 相关阅读:
    Python实现网络多人聊天室
    C实现string字符串
    C getchar()
    C++ 数组遍历的两种方式
    Java 发红包
    Java递归实现阶乘
    Go defer语句
    bash shell——sum
    C——letterCounter
    数据结构——链队列(linked queue)
  • 原文地址:https://www.cnblogs.com/zhuwanxing/p/11558691.html
Copyright © 2011-2022 走看看