码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-09-20 19:00:40      阅读:58      评论:0      收藏:0      [点我收藏+]

标签:mon   开头   包括   对象   close   初始   数组   类型   img   

实验报告

1.写一个名为Rectangle的类表示矩形。其属性包括宽width、高height和颜色color,width和height都是double型的,而color则是String类型的。要求该类具有:

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

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

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

代码

package Rectangle;

import java.util.*;
class Rectangle {
    private double width;
    private double height;
    private String color;
    
    public Rectangle() {
        
    }
    public void setHeight(double h) {
        height=h;
    }
    public void setWidth(double w) {
        width=w;
    }
    public void setColor(String c) {
        color=c;
    }
    public double getWidth() {
        return width;
    }
    public double getHeight() {
        return height;
    }
    public String getColor() {
        return color;
    }
    
    public void InputwidthAndheight() {
        Scanner pw = new Scanner(System.in);
        
        System.out.println("输入矩形宽度:");
        double width = pw.nextDouble();
        this.width = width;
        
        System.out.println("输入矩形长度:");
        double height = pw.nextDouble();
        this.height = height;
        
        pw.close();
    }
    public double getArea() {
        return height*width;
    }
    public double getLength() {
        return (width+height)*2;
    }
    
}
package Rectangle;

public class Test {
    public static void main(String[] args) {
        Rectangle re = null;
        re = new Rectangle();
        
        re.InputwidthAndheight();
        System.out.println("矩形面积:"+ re.getArea());
        System.out.println("矩形周长:"+ re.getLength());
    }
}

遇到的问题

无。

运行结果

技术图片

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

代码

package text2;

import java.util.*;
class Account {
    private String name;   //姓名;
    private String id;    //标识
    private String openday;   //开户日期
    private String password;    //密码
    private int balance;    //余额
    
    public Account(String id,String name,int balance,String openday) {   //开户初始状态
        this.setId(id);
        this.setBalance(balance);
        this.setName(name);
        this.setOpenday(openday);
        this.password= "123456";
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public int getBalance() {
        return balance;
    }

    public void setBalance(int balance) {
        this.balance = balance;
    }
    
    public void setOpenday(String openday) {
        this.openday = openday;
    }
    

    
    public String getOpenday() {
        return openday;
    }
    
    public void changepassword() {
        Scanner pw = new Scanner(System.in);
        System.out.println("输入你的新密码:");
        

        String password = pw.nextLine();
        if(password.length()!=6)
        {
            System.out.println("账户密码需为6位数字!");
            System.exit(0);
        }
            
        this.password = password;
        
        pw.close();
    }
    
    public void Savemoney(int money) {    //存钱
        this.balance = balance+money;
    }
    public void Drawmoney(int money) {
        this.balance = balance-money;
    }
    
}

public class test2 {
    public static void main(String[] args) {
        Account str = null;
        str = new Account("nishidi01ge","Leemay",0,"2019.09.17");   //开户状态
        
        
        str.changepassword();
        str.Savemoney(1000);
        str.Drawmoney(600);
        
        System.out.println("标识:"+ str.getId());
        System.out.println("姓名:"+ str.getName());
        System.out.println("余额:"+ str.getBalance());
        System.out.println("开户日期:"+ str.getOpenday());
        
        
    }

}

遇到的问题

1.报错,无法输入更改内容;
技术图片

解决方法:把nextString();改为nextLine(); 删除new; 关闭pw变量。

运行结果

技术图片

技术图片

课程总结

本周学习了

数组

定义
初始化
元素表示方式

作用、定义、类的导入

String类

两种实例化方式:1.直接赋值;2.new。
两种实例化区别:1方法只会开辟一块堆内存空间,且会自动保存在对象池中以供下次重复使用;2方法会开辟两块堆内存空间,其中一块会成为垃圾空间。
两种比较方式:1.“==”比的是地址值;2.equals()方法比的是内容。
字符串的内容不可改变,如果同一个字符变量的内容改变了,则说明该变量指向了存储更改后的内容的空间(更改后的内容存在了一个新的空间处)的地址。
String类常用方法。

这周学的很多的String类的方法,不怎么会用,数组和以前学的差不多,不难理解,包的话只算是提了一下,还没讲到重点。

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

标签:mon   开头   包括   对象   close   初始   数组   类型   img   

原文地址:https://www.cnblogs.com/LeeMayZ/p/11541098.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!