Java第四周总结+实验报告

mac2022-06-30  36

实验二 Java简单类与对象

实验目的

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

实验内容

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

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

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

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

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

实验过程

第①题实验代码:

package o; public class a { public static void main(String[] args) { Rectangle re = new Rectangle(); re.get(); double a =re.getArea(); System.out.println(a); double b =re.getLength(); System.out.println(b); } } class Rectangle { double width; double heigh; String color; Rectangle() { this.width=3; this.heigh=4; this.color="Red"; } public void get(){ System.out.println("rec "+this.width); System.out.println("higher "+this.heigh); System.out.println("color "+this.color); } public void setwidth(double single) { this.width=single; } public void setheigh(double single) { this.heigh=single; } public void setcolor(String single) { this.color=single; } public double getArea() { return this.width*this.heigh; } public double getLength(){ return this.width*1+this.heigh*2; } }

运行截图:

第②题实验代码:

package o; public class a { public static void main(String[] args) { Account re = new Account("boniu","hl",2019,9,20,"123456",2000); re.setAll(); re.changebalance(0.05); re.setAll(); re.changepsd("123456"); re.setAll(); } } class Account { String ID; String psd; int year; String name; double balance; int month; int day; Account() { this.ID="boniu"; this.name="null"; this.year=0; this.month=0; this.day=0; this.psd="null"; this.balance=0; } Account(String ID, String name, int year, int month, int day, String psd, double balance) { this.ID = ID; this.name = name; this.year = year; this.month = month; this.day = day; this.psd = psd; this.balance = balance; } public void changebalance(double single) { this.balance += single; } public void changepsd(String single) { this.psd = single; } public void setAll() { System.out.println(this.ID); System.out.println(this.name); System.out.println(this.year+"."+this.month+"."+this.day); System.out.println("balance:"+this.balance); } }

运行截图:

总结

这周所学及小拓展:

一、java中的String类

①字符加密

代码
package o; import java.util.Scanner; public class a { public static void main(String args[]){ Scanner in=new Scanner(System.in); System.out.print("输入字符串:"); String str=in.next(); int i; char b[]=new char[50]; System.out.print("加密后为:"); for(i=0;i<str.length();i++) { b[i]=str.charAt(i); b[i]+=3; if(b[i]-'a'>25) b[i]-=26; System.out.print(b[i]); } } }
运行截图

将输入的字符串中的每个字符加3,输出,实现字串的加密,大于26的字符,减去26返回。

②String equals()方法

用来判断两个对象是否一样,对其所指向的地址也能判断是否相等,而“==”判等符号只可以判断两个对象的值是否相等。

代码
public class StringEquals { public static void main(String[] args) { String s1=new String("Hello"); String s2=new String("Hello"); System.out.println(s1==s2); System.out.println(s1.equals(s2)); String s3="Hello"; String s4="Hello"; System.out.println(s3==s4); System.out.println(s3.equals(s4)); } }

当分别new两个对象时,这两个对象所指向的存储地址不一样,开辟了新的存储单元,而“==”只能判断值是否相等,所以第一个会输出错误,而equals()判断两个对象是否完全一样,包括值和地址,第二个输出true。当只String两个相同字符串时,这两个字符串指向的是同一个地址,即用“==”和equals()都输出true。

③String类的一些使用说明

CharAt() 获取指定位置字符

Length() 取字串的长度

GetChars() 获取制定未知的字串复制到字符串数组中。

toUpperCase(),toLowerCase)() 大小写的转换

trim() 去除头尾空格

Replace() 字串替换

toCharArray() 字符串转换为字符数组。

小总结:这周主要是“重”做了一下上次作业的7个题目,以为能一气呵成的写下去,结果边写边出现一片一片的红叉叉。在室友的帮助下我还是完成了三个题目,为什么看别人写的代码,看得懂,自己写的时候却总是错呢?...这周的题目我觉得emmmm好像不是很难,因为我这样的菜鸡竟然都能写出碎片化的代码了,虽然最终还是靠着度娘和别人的代码填满了自己代码的窟窿吧。但我已心满意足,后面的学习过程中慢慢长进吧!

转载于:https://www.cnblogs.com/Duya9ian/p/11553450.html

相关资源:JAVA 2实用教程第4版 实验代码和实验报告
最新回复(0)