实验四 面向对象编程实验(1)—类和对象
一、 实验目的
- 掌握Java类、对象、方法的概念与用法
- 学习编写简单的面向对象的应用程序
- 掌握Java构造方法及其重载方法的用法
二、实验内容 - 请按照下列要求编写程序:
1)编码实现一个地址簿类(AddressBook),
在该类中定义“姓名(name)”、“地址(address)”、“电话(tel)”三个域变量;
通过getter方法和setter方法分别获取和设置对象的三个信息;(需要清楚如何创建getter方法和setter方法)
通过getAllInfo()来进行对象所有三个信息的输入与输出。
2)编码实现另一个类(TestAddressBook)
在该类中的main主方法中创建AddressBook对象:zhangsan_addr;(通过默认的构造方法创建对象)
通过张三地址簿对象(zhangsan_addr)分别设置他的姓名,地址和电话,并通过getAllInfo() 方法来显示设置结果;
通过setTel()方法来修改电话号码,并使用getTel()方法显示修改后的结果。
package com.xzj.day02;
public class AddressBook {
private String name;
private String address;
private String tel;
public AddressBook() {
}
public AddressBook(String name, String address, String tel) {
this.name = name;
this.address = address;
this.tel = tel;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
public void getAllInfo(){
System.out.println("name is : " + name);
System.out.println("address is : " + address);
System.out.println("tel is : " + tel);
}
}
package com.xzj.day02;
public class TestAddressBook {
public static void main(String[] args) {
AddressBook ab01 = new AddressBook();
ab01.setName("xuzhijie");
ab01.setAddress("南京信息工程大学");
ab01.setTel("1234567890");
System.out.println(ab01.getAddress());
System.out.println(ab01.getName());
System.out.println(ab01.getTel());
ab01.getAllInfo();
}
}
- 请按照下列要求编写程序:
1)编写一个矩形类(Rect)与圆类(Circle)
在矩形类中定义长、宽、周长和面积四个域变量;在圆类中定义半径、周长和面积三个域变量;
在构造方法里对其进行初始化;
设计getter方法能求出矩形与圆的面积(area_S)和周长(perimeter)。
2)再建一个主类TestShape
生成一个圆形对象和一个矩形对象
打印出两个对象的相关信息。
package com.xzj.java03;
import java.util.Scanner;
public class Rect {
private double chang;
private double kuan;
public Rect() {
}
public Rect(double chang, double kuan) {
this.chang = chang;
this.kuan = kuan;
}
public double getChang() {
return chang;
}
public void setChang(double chang) {
this.chang = chang;
}
public double getKuan() {
return kuan;
}
public void setKuan(double kuan) {
this.kuan = kuan;
}
public void getter(){
Scanner sc = new Scanner(System.in);
double area_Rect;
double long_Rect;
System.out.println("请输入矩形的长和宽");
double chang = sc.nextDouble();
double kuan = sc.nextDouble();
Rect re = new Rect();
re.setChang(chang);
re.setKuan(kuan);
area_Rect = re.getChang() * re.getKuan();
System.out.println("area_Rect = " + area_Rect);
long_Rect = (re.getChang() + re.getKuan()) * 2;
System.out.println("long_Rect = " + long_Rect);
}
}
package com.xzj.java03;
import java.util.Scanner;
public class Circle {
private int Radius;
public Circle() {
}
public Circle(int radius) {
Radius = radius;
}
public int getRadius() {
return Radius;
}
public void setRadius(int radius) {
Radius = radius;
}
public void getter(){
Scanner sc = new Scanner(System.in);
double area_Circle;
double long_circle;
System.out.println("请输入圆的半径Radius");
int Radius = sc.nextInt();
Circle ci = new Circle();
ci.setRadius(Radius);
area_Circle = ci.getRadius() * ci.getRadius() * 3.14;
System.out.println("area_Circle = " + area_Circle);
long_circle = ci.getRadius() * 2* 3.14;
System.out.println("long_circle = " + long_circle);
}
}
package com.xzj.java03;
public class TestShape {
public static void main(String[] args) {
Rect r1 = new Rect();
Circle c1 = new Circle();
r1.getter();
c1.getter();
}
}
- 设计银行账户类及存取款操作方法。
1)账户信息:账号、姓名、开户时间、身份证号码等。
2)存款方法。
3)取款方法。
package com.xzj.day04;
import java.util.Scanner;
public class Bank {
private String id;
private String name;
private String addtime;
private String name_id;
private double money;
private double min;
Scanner sc = new Scanner(System.in);
public Bank(String id, String name, String addtime, String name_id,double money, double min) {
this.id = id;
this.name = name;
this.addtime = addtime;
this.name_id = name_id;
this.money = money;
this.min = min;
}
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 String getAddtime() {
return addtime;
}
public void setAddtime(String addtime) {
this.addtime = addtime;
}
public String getName_id() {
return name_id;
}
public void setName_id(String name_id) {
this.name_id = name_id;
}
public double getMoney() {
return money;
}
public void setMoney(double money) {
this.money = money;
}
public double getMin() {
return min;
}
public void setMin(double min) {
this.min = min;
}
public void find() {
System.out.println("账户余额:"+getMoney());
}
public void write() {
System.out.println("请输入存放金额:");
double write = sc.nextDouble();
System.out.println("存款成功!");
System.out.println("当前账户余额:"+getMoney());
this.money = getMoney() + write;
System.out.println("存入金额:"+ write);
System.out.println("账户余额为:"+getMoney());
}
public void read() {
System.out.println("请输入取款金额:");
double read = sc.nextDouble();
if (getMoney() - read >= getMin()) {
System.out.println("取款成功!");
System.out.println("当前账户余额:"+getMoney());
this.money = getMoney() - read;
System.out.println("取出金额:"+read);
System.out.println("账户余额为:"+getMoney());
} else {
System.out.println("取款失败!当前账户余额:"+getMoney()+",至少保留"+getMin()+"元!");
}
}
public void show() {
System.out.println(getName()+"您好!请输入您要选择的操作:");
System.out.println("1.查询");
System.out.println("2.存款");
System.out.println("3.取款");
System.out.println("4.退卡");
}
public void cell() {
while(true){
show();
System.out.println("--------------------");
switch (sc.nextInt()) {
case 1:
System.out.println("--------------------");
find();
System.out.println("--------------------");
break;
case 2:
System.out.println("--------------------");
write();
System.out.println("--------------------");
break;
case 3:
System.out.println("--------------------");
read();
System.out.println("--------------------");
break;
case 4:
System.out.println("--------------------");
System.out.println("欢迎下次再来");
return;
default:
System.out.println("--------------------");
System.out.println("选择错误!请重新选择");
System.out.println("--------------------");
break;
}
}
}
}
package com.xzj.day04;
public class Test01 {
public static void main(String[] args) {
Bank bd = new Bank("001", "xuzhijie", "南京信息工程大学","1234567890", 3000, 100);
bd.cell();
}
}



