第四周课程总结和实验报告2

实验二 Java简单类与对象

实验目的

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

实验内容

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

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

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

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

代码

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 tell(){
System.out.println("宽:"+width+" "+"高:"+height+" "+"颜色:"+color);
}
public double getWidth(){
return width;
}
public double getHeight(){
return height;
}
public String getColor(){
return color;
}
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 void getArea(){
System.out.println("面积为:"+(width*height));
}
public void getLength(){
System.out.println("周长为:"+(width+height)*2);
}

}
public class juxing{
public static void main(String[] args){
Rectangle per=new Rectangle(5,10,"红色");
per.tell();
per.getArea();
per.getLength();
}
}

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

代码

import java.util.Date;

import java.util.Scanner;

class Account{

private String id,name,password;

private Date date;

private double balance;

public Account() {

}

public Account(String id,String name,double balance) {

this.setId(id);

this.setName(name);

this.date=new Date();

this.password="123456";

this.setBalance(balance);

}

public String getId() {

return id;

}

public String getName() {

return name;

}

public Date getDate() {

return date;

}

public String getPassword() {

return password;

}

public double getBalance() {

return balance;

}

public void setId(String i) {

id=i;

}

public void setName(String n) {

name=n;

}

public void setDate(Date d) {

date=d;

}

public void setPassword(String p) {

password=p;

}

public void setBalance(double b) {

balance=b;

}

public void cunqian(double money) {

this.balance=this.balance+money;

}

public void quqian(double money) {

this.balance=this.balance-money;

}

public Date date() {

return date;

}

public void changepassword() {

Scanner sc=new Scanner(System.in);

System.out.println("请输入新密码:");

String password=sc.nextLine();

}

public static void main(String[] args) {

Account a=new Account("20188383","李文杰",1000);

a.cunqian(1000);

a.quqian(500);

a.changepassword();

a.date();

System.out.println("账户标识:"+a.getId());

System.out.println("姓名:"+a.getName());

System.out.println("开户日期:"+a.date());

System.out.println("当前余额:"+a.getBalance());

}

}

String类

1.String类的两种实例化方法

(1)直接赋值:如String name = "lichen";。

(2)利用new开辟一个新的空间(实际上就是直接调用String类中的构造方法):如String name = new String("lichen");。

2.String类的比较方法

(1)通过使用“==”进行内容的比较,但“==”并不能适用于字符串内容的比较,因为字符串的内容看似相等,但其实地址不同,而“==”主要的功能是进行数值的相等判断的,如果用在了String对象上表示的是内存地址数值的比较,所以“==”就不能用于比较字符串内容啦。

(2)使用equals()方法对String的内容进行比较,equals()方法是String提供的一个方法,此方法专门负责进行字符串内容的比较,所以字符串内容比较是用equals()方法进行判断的。

3.String类两种对象实例化方式的区别

(1)直接赋值,对于这个代码String str1="lichen";实际上就是把一个在堆中开辟好的堆内存空间的使用权给了str1这个对象,使用这种方法还有另外一个好处,那就是,如果一个字符串已经被一个名称所引用,则以后再有相同的字符串声明的时候,不会再重新开辟空间,并且会自动保存在对象池之中以供下次重复使用。

(2)使用new String()的方式实例化String对象,上面说过一个字符串就是一个String类的匿名对象,所以使用new关键词的话,不管如何都会再开辟一个新的空间,但空间的内容不变,所以实际上开辟了两个内存空间,但真正使用的只是一个使用关键字new开辟的空间,另一个是垃圾空间。

4.String类的使用特点

字符串的内容一旦声明则不可改变。

包的概念

包是使用多个类或接口时,为了避免名称重复而采用的一种措施。

包的主要目的时实现程序的分割保存,这样既便于开发且方便维护。

import java.util.Date;import java.util.Scanner;class Account{    private String id,name,password;    private Date date;    private double balance;    public Account() {}public Account(String id,String name,double balance) {    this.setId(id);    this.setName(name);    this.date=new Date();    this.password="123456";    this.setBalance(balance);}public String getId() {    return id;}public String getName() {    return name;}public Date getDate() {    return date;}public String getPassword() {    return password;}public double getBalance() {    return balance;}public void setId(String i) {    id=i;}public void setName(String n) {    name=n;}public void setDate(Date d) {    date=d;}public void setPassword(String p) {    password=p;}public void setBalance(double b) {    balance=b;}public void cunqian(double money) {    this.balance=this.balance+money;}public void quqian(double money) {    this.balance=this.balance-money;}public Date date() {    return date;}public void changepassword() {    Scanner sc=new Scanner(System.in);    System.out.println("请输入新密码:");    String password=sc.nextLine();}public static void main(String[] args) {    Account a=new Account("010114","唐嘉诚",1000);    a.cunqian(1000);    a.quqian(500);    a.changepassword();    a.date();    System.out.println("账户标识:"+a.getId());    System.out.println("姓名:"+a.getName());    System.out.println("开户日期:"+a.date());    System.out.println("当前余额:"+a.getBalance());}}

原文地址:https://www.cnblogs.com/slob/p/11560049.html

时间: 2024-09-30 10:56:39

第四周课程总结和实验报告2的相关文章

第四周课程总结及实验报告

Java实验报告 计科一班 学号:20188414 陈贵平 完成时间 2019.9.20 Java简单类与对象 一.实验目的 掌握类的定义,熟悉属性.构造函数.方法的作用,掌握用类作为类型声明变量和方法返回值: 理解类和对象的区别,掌握构造函数的使用,熟悉通过对象名引用实例的方法和属性: 理解static修饰付对类.类成员变量及类方法的影响. 二.实验内容 写一个名为Rectangle的类表示矩形.其属性包括宽width.高height和颜色color,width和height都是double型

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

实验二 Java简单类与对象 实验目的 掌握类的定义,熟悉属性.构造函数.方法的作用,掌握用类作为类型声明变量和方法返回值: 理解类和对象的区别,掌握构造函数的使用,熟悉通过对象名引用实例的方法和属性: 理解static修饰付对类.类成员变量及类方法的影响. 实验内容 写一个名为Rectangle的类表示矩形.其属性包括宽width.高height和颜色color,width和height都是double型的,而color则是String类型的.要求该类具有: (1) 使用构造函数完成各属性的初

第四周课程总结和实验报告

课程总结:这周讲了String直接赋值的问题,实例化String的对象,讲了String str1="hello"与String str2=new String (“hello”)的区别, 还有拼接和代替的方法. 1.写一个名为Rectangle的类表示矩形.其属性包括宽width.高height和颜色color,width和height都是double型的,而color则是String类型的.要求该类具有: (1) 使用构造函数完成各属性的初始赋值 (2) 使用get…()和set…

第三周课程总结及实验报告(一)

撰写第三周课程总结及实验报告(一) 1.打印输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其中各位数字立方和等于该数本身.例如,153是一个“水仙花数”. 2. 编写Java程序,求13-23+33-43+…+973-983+993-1003的值. 3. 编程求1!+2!+3!+…+20!. 4. 编写Java程序,计算8+88+888+…前10项之和. 5. 一个数如果恰好等于它的因子之和,这个数就称为完数.编写程序输出1000以内的所有完数. 6. 编写应用程序,输出满足1+2+3

第三周课程总结及实验报告

撰写第三周课程总结及实验报告(一) 1.打印输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其中各位数字立方和等于该数本身.例如,153是一个“水仙花数”. 2. 编写Java程序,求13-23+33-43+…+973-983+993-1003的值. 3. 编程求1!+2!+3!+…+20!. 4. 编写Java程序,计算8+88+888+…前10项之和. 5. 一个数如果恰好等于它的因子之和,这个数就称为完数.编写程序输出1000以内的所有完数. 6. 编写应用程序,输出满足1+2+3

第七周课程总结及实验报告

实验报告 (一)抽象类的使用 1.设计一个类层次,定义一个抽象类--形状,其中包括有求形状的面积的抽象方法. 继承该抽象类定义三角型.矩形.圆. 分别创建一个三角形.矩形.圆存对象,将各类图形的面积输出. 注:三角形面积s=sqrt(p(p-a)(p-b)*(p-c)) 其中,a,b,c为三条边,p=(a+b+c)/2 2.编程技巧 (1) 抽象类定义的方法在具体类要实现: (2) 使用抽象类的引用变量可引用子类的对象: (3) 通过父类引用子类对象,通过该引用访问对象方法时实际用的是子类的方法

第八周课程总结及实验报告

实验报告 一.编写一个类,在其main()方法中创建一个一维数组,在try字句中访问数组元素,使其产生ArrayIndexOutOfBoundsException异常.在catch子句里捕获此异常对象,并且打印"数组越界"信息,加一个finally子句,打印一条信息以证明这里确实得到了执行. 1)实验代码 package text7; public class Text7 { public static void main(String[] args) { try { int s[]=

第六周课程总结及实验报告

一.实验目的 (1)掌握类的继承 (2)变量的继承和覆盖,方法的继承,重载和覆盖的实现: 二.实验的内容 (1)根据下面的要求实现圆类Circle. 1.圆类Circle的成员变量:radius表示圆的半径. 2.圆类Circle的方法成员: Circle():构造方法,将半径置0 Circle(double r):构造方法,创建Circle对象时将半径初始化为r double getRadius():获得圆的半径值 double getPerimeter():获得圆的周长 void disp(

第四周学习总结与实验报告二

---恢复内容开始--- 1.写一个名为Rectangle的类表示矩形.其属性包括宽width.高height和颜色color,width和height都是double型的,而color则是String类型的.要求该类具有: (1) 使用构造函数完成各属性的初始赋值 (2) 使用get…()和set…()的形式完成属性的访问及修改 (3) 提供计算面积的getArea()方法和计算周长的getLength()方法 2.银行的账户记录Account有账户的唯一性标识(11个长度的字符和数字的组合)