数据结构与算法分析-第一章Java类(02)

编写一个名为Person的类,它包含分别表示人的名字与年龄的两个数据域。要求此类包含对其中任何一个数据域进行设置与获取的方法。还要求包含可进行下列测试的方法:

  • 两个Person对象是否相等--即是否有相同的名称与年龄
  • 一个人是否比另一个人年长
最后,还要求有一个toString方法,以返回由人的名称与年龄组成的字符串。

写一个程序演示类的每一个方法

代码实现

package com.crazycoder2010.datastructure.ch01;public class Person {private String name;private int age;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic boolean equals(Object obj) {if(obj == null || !(obj instanceof Person)){return false;}Person that = (Person)obj;boolean isAgeEquals = this.age == that.age;if(!isAgeEquals){return false;}if(this.name == null){if(that.name == null){return true;}else{return false;}}else{return this.name.equals(that.name);}}public boolean isOlderThan(Person person){return this.age > person.getAge();}@Overridepublic String toString() {return "name:"+this.name+",age:"+this.age;}
}
测试代码

package com.crazycoder2010.datastructure.ch01;public class PersonTest {public static void main(String[] args) {Person person = new Person();person.setName("Kevin");person.setAge(20);System.out.println(person);Person person2 = new Person();person2.setName("Kevin");person2.setAge(20);System.out.println(person.equals(person2));//trueSystem.out.println(person.equals(new Person()));//falseSystem.out.println(person.equals(null));//falsePerson person3 = new Person();person3.setName("Kevin");System.out.println(person.equals(person3));//falseperson3.setAge(28);System.out.println(person.isOlderThan(person3));//false}
}
执行输出结果

name:Kevin,age:20
true
false
false
false
false



转载于:https://www.cnblogs.com/javaexam2/archive/2012/08/09/2632485.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/379431.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

asp.net对于长篇文章进行分页

对于文章篇幅比较长的,就必须采用分页显示。在.net中对长篇文章分页一般有2种方法,第一种就是先计算好一页的文字长度是多少,然后把文章总的长度除设置好的单页文字长度及可,用这方法可以减少认为进行分页的繁琐,但是这…

汇编语言-004(LABEL 、间接寻址、变址操作数、指针使用、TypeDef、LOOP、DWORD变量交换高位低位字)

1: LABEL : 为一个标号定义大小属性,但不分配内存与下一个变量共用内存,与C中UNION类似 .386 .model flat,stdcall.stack 4096 ExitProcess PROTO,dwExitCoed:DWORD.data val16 LABEL WORD val32 DWORD 12345678hLongValue LABEL DWORD val1…

(只需挨个复制粘贴命令即可部署)在Centos7下搭建文件服务器(VSFTPD)

观看北京尚学堂-百战程序员笔记一、VSFTPD简介 Linux的组件(一款软件),安装到Linux后可以通过java代码(FtpClient)实现文件的上传。基于FTP协议。 由于VSFTPD是基于FTP协议,客户端浏览器是需要通过http协议…

POJ 2421 Constructing Roads MST kruskal

最近刚学的并查集所以用kruskal来试试最小生成树~ kruskal其实用几句话就能说完~ 1.贪心所有边的权值,从小到大取值 2.取值时~将边权非0的两个顶点~进行并查操作~如果两个点的祖先不同...边权加入最小生成树...并且将两个点纳入同一个集合中 3.判断是否所有点都在同一个集合中…

c# 声明类的时候初始化类_使用C#初始化的列表声明

c# 声明类的时候初始化类The task is to create/declare a list with an initializer list in C#. 任务是在C#中使用初始化列表创建/声明一个列表 。 C#清单 (C# List) A list is used to represent the list of the objects, it is represented as Lis…

编写程序计算所输日期是当年的第几天

/* 1.输入年月日,编写程序计算所输日期是当年的第几天 *//* 2.已知列车隔日发车,且1/1/2006不发车(无ticket),如果所输入数据在此日期之后,则输出有没有车票,否则仅输出上一步结果。*/ /* month/date/year is which day of the ye…

汇编语言-005(XCHG、标志位操作、算术操作、比例因子的变址寻址、多个常用运算符运用、大端转小端、数组操作)

1: 用不超过3条XCHG指令对4个8位寄存器的值重新排序,A,B,C,D调整为D,C,B,A .386 .model flat,stdcall.stack 4096 ExitProcess PROTO,dwExitCode:DWORD.data.code main PROCmov al,Amov bl,Bmov cl,Cmov dl,Dxchg al,dlxchg bl,clINVOKE ExitProcess,0 main ENDP E…

bcd码二进制转十进制_二进制编码的十进制(BCD码)及其加法

bcd码二进制转十进制Prerequisite: Number systems 先决条件: 数字系统 BCD Code (8421 Code): In BCD 8421 code, each decimal digit is represented using a 4-bit binary number. The 4-bit binary numbers have their weights attached as 8, 4, 2, 1 from MS…

SVN服务器部署

一、SVN版本控制器 Subversion就是一款实现版本控制的工具软件,通常也成为版本控制器,简称SVN。 Subversion是Apache软件基金会组织下的一个项目 SVN基本操作: checkout(检出):将一个服务端创建好的项目…

rtmp流\http流测试地址

测试方式:ffplay rtmp://58.200.131.2:1935/livetv/cctv1 rtmp: CCTV-1综合:rtmp://58.200.131.2:1935/livetv/cctv1 CCTV-2财经:rtmp://58.200.131.2:1935/livetv/cctv2 CCTV-3综艺:rtmp://58.200.131.2:1935/livetv/cctv3 CCTV-4中文国际:rtmp://58.2…

LINQ to XML:如何读写XCData

using System;using System.Xml.Linq;namespace ConsoleApplication1 {class Program{static void Main(string[] args){//写入CDATA元素块var doc new XElement("Test",new XElement("User",new XAttribute("name", "chenxizhang"),…

C#中的结构和类之间的区别

C#类和结构 (C# class and structure) In C# and other programming languages, structure and classes are used to define a custom data type, that we can organize according to our need with different types of variables, methods etc. 在C#和其…

[转载]SQL Plus 一些使用技巧

原文地址:SQL Plus 一些使用技巧作者:☆水『若寒Sql*plus的使用 Sql*plus介绍 Sql*plus是oracle提供的一个工具程序,既可以在oracle服务器使用,也可以在oracle客户端使用。在windows下分两种,sqlplus.exe是命令行程序&…

云服务器(Centos)部署SVN

1,安装svn yum install subversion 2,查看版本号 svnserve --version 3,创建SVN版本库(在var/svn 文件夹下) 新建文件夹 mkdir -p /var/svn/svnrepos 创建版本库 svnadmin create /var/svn/svnrepos 4,修改…

ffmpeg命令提取像素格式

1: 提取yuv格式:不修改宽高 取3秒 ffmpeg -i test_1920x1080.mp4 -t 3 yuv420p_orig.yuv ffmpeg -i test_1920x1080.mp4 -t 3 -pix_fmt yuv420p yuv420p_orig.yuv 可以使用ffplay播放:ffplay -video_size 1920x1080 yuv420p_orig.yuv 提取y…

Javascript(js)使用function定义构造函数

Javascript并不像Java、C#等语言那样支持真正的类。但是在js中可以定义伪类。做到这一点的工具就是构造函数和原型对象。首先介绍js中的构造函数。 Javascript中创建对象的语法是在new运算符的后面跟着一个函数的调用。如 1 varobj newObject();2 vardate newDate();运算符new首…

错误:将字符串分配给C中的char变量| 常见的C程序错误

If you assign a string to the character variable, it may cause a warning or error (in some of the compilers) or segmentation fault error occurs. 如果将字符串分配给字符变量,则可能会导致警告或错误(在某些编译器中)或发生分段错误。 Consider the code…

【转】用BibTeX 写 Reference

BibTeX 是一种格式和一个程序, 用于协调LaTeX的参考文献处理,BibTeX 使用数据库的的方式来管理参考文献.,BibTeX 文件的后缀名为 .bib。 例子: article{name1, author {作者, 多个作者用 and 连接}, title {标题}, journal {期…

计算机二级C语言易混淆的区别

1,if(a1)与if(a1)的区别 首先,if(a1) 等价于 a1;if(a); 而a 1,是判断a是不是为1; if(sq)里面的分为两种情况,一种是sq为0,不执行if里面的代码内容;另一种是sq不为0,执行里面的代码内…

ffmpeg命令mp3中提取pcm格式

原mp3文件: ffmpeg -i buweishui.mp3 -ar 48000 -ac 2 -f s16le 48000_2_s16le.pcm (这可能是pcm原格式查不到什么信息但是可以播放的:ffplay -ar 48000 -ac 2 -f s16le 48000_2_s16le.pcm) ffmpeg -i buweishui.mp3 -ar 48000 -ac 2 -samp…