Java实验报告
班级 计算机科学与技术二班 学号 20188429 姓名 罗璇哲
完成时间 2019/9/20
评分等级
实验二 Java简单类与对象
实验目的
掌握类的定义,熟悉属性、构造函数、方法的作用,掌握用类作为类型声明变量和方法返回值;
理解类和对象的区别,掌握构造函数的使用,熟悉通过对象名引用实例的方法和属性;
理解static修饰付对类、类成员变量及类方法的影响。
实验内容
1. 写一个名为Rectangle的类表示矩形。其属性包括宽width、高height和颜色color,width和height都是double型的,而color则是String类型的。要求该类具有:
(1) 使用构造函数完成各属性的初始赋值
(2) 使用get…()和set…()的形式完成属性的访问及修改
(3) 提供计算面积的getArea()方法和计算周长的getLength()方法
实验源码
package java1;
public class Rectangle {
private String color;
private double width;
private double height; //定义属性
public void setColor(String color) { //设置颜色
this.color=color;
}
public void setWidth(double width) { //设置宽度
this.width=width;
}
public void setHeight(double height) { //设置高度
this.height=height;
}
public String getColor() { //取得颜色
return color;
}
public double getWidth() { //取得宽度
return width;
}
public double getHeight() { //取得高度
return height;
}
public double getArea() { //求矩形面积
return width*height;
}
public double getLength() { //求矩形周长
return 2*(width+height);
}
public static void main(String args[]) {
Rectangle r=new Rectangle();
r.setWidth(10);
r.setHeight(5);
r.setColor("yellow");
System.out.println("长="+r.getHeight());
System.out.println("宽="+r.getWidth());
System.out.println("颜色="+r.getColor());
System.out.println("面积="+r.getArea()); //输出面积
System.out.println("周长="+r.getLength()); //输出周长
}
}
实验结果
2. 银行的账户记录Account有账户的唯一性标识(11个长度的字符和数字的组合),用户的姓名,开户日期,账户密码(六位的数字,可以用0开头),当前的余额。银行规定新开一个账户时,银行方面提供一个标识符、账户初始密码123456,客户提供姓名,开户时客户可以直接存入一笔初始账户金额,不提供时初始余额为0。定义该类,并要求该类提供如下方法:存款、取款、变更密码、可以分别查询账户的标识、姓名、开户日期、当前余额等信息。
实验源码
import java.util.Scanner;
public class bank {
private String biao;
private String name;
private String time;
private String mima;
private String money;
static String money1;
private static String money2;
public void setBiao(String biao) {
this.biao=biao;
}
public void setName(String name) {
this.name=name;
}
public void setTime(String time) {
this.time=time;
}
public void setMima(String mima) {
this.mima=mima;
}
public void setMoney(String money) {
this.money=money;
}
public void setMoney1(String money1) {
bank.money1=money1;
}
public void setMoney2(String money2) {
bank.money2=money2;
}
public String getBiao(){
return biao;
}
public String getName() {
return name;
}
public String getTime() {
return time;
}
public String getMima() {
return mima;
}
public String getMoney1() {
return money1;
}
public String getMoney2() {
return money2;
}
public String getMoney() {
return money;
}
public void ReplaceName() {
Scanner sc=new Scanner(System.in);
String name=sc.next();
}
public static void main(String args[]) {
bank a=new bank();
a.setBiao("abcd1234567");
a.setName("王一博"); // 设置名字 存款 时间 余额 密码
a.setTime("2019年9月20日");
a.setMoney1("存款为:"+10000);
a.setMoney2("取款:"+500);
a.setMoney("余额:"+500);
a.setMima("变更密码为:"+15484879);
System.out.println(a.getBiao()); //输出名字 余额 存款 时间
System.out.println(a.getName());
System.out.println(a.getMoney1());
System.out.println(a.getMima());
System.out.println(a.getMoney2());
System.out.println(a.getMoney());
System.out.println(a.getTime());
}
}
本题运算错误截图
我太难了。每次改动都会有新的错误,后面请了室友帮忙。
运行结果
本周学习总结
1.对于string可以采用直接赋值的方式进行操作,也可以通过new方法实例化
2.使用“==”比较两个字符串的内容,但是是进行地址值比较的。比较内容相等可以使用public boolean equals(String str)
3.String类进行操作的时候,字符串的内容一旦声明则不可改变(改变的是堆内存的指向)
4.string类的常用操作方法
自我总结
上周的作业里面没有写自我总结扣分了,我太难了。学Java的这一段时间里面,发现很多代码我可以比较简单的看懂,但是实际操作起来自己还是不太行。
看起来本周第一题的代码实际上上课有略微讲到,但是我自己还是不怎么会,实操起来不太行。第二题的代码我有看李代传同学的作业,他的代码很长,然后看他运行出来的结果算是一个银行账户的完整流程了,我自己还是不知道怎么来写这道题,有借鉴百度上的,然后在实际操作中出现了奇奇怪怪的问题,后面还是求助了室友才搞出来,本周作业其实难度不是特别大,主要是要熟悉string类与this的运用,要理清楚每一步之间的作用用代码实现出来,主要因为比上周作业对我来说难一些吧。因为有上学期学c的一些过程,让我觉得这个学期学Java的过程不再那么的难受。
下周实验作业好好做。继续努力吧。