A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© roblonely 中级黑马   /  2015-5-26 15:30  /  2023 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

题目:
定义一个学生类,需要有姓名,年龄,考试成绩三个成员属性,创建5个对象,属性可以任意值。(Objective-C)
1)    不使用@property,手动编写他们的访问器方法(getter和setter),注意内存管理(手动管理内存)
2)    增加一个便利构造器(快速构造器)
3)    使用NSLog输出学生对象时,输出信息格式为:My Name Is XXX  Age Is XXX Score Is XXX
4)    对5个学生对象按照成绩—》年龄—》姓名优先级排序(成绩相同按照年龄排序,成绩年龄相同按照姓名排序(5个学生的属性值自己随便设定,姓名不考虑中文,按26个大小字母排序))

这是一道黑马入学考试题,我做了3个小时,终于做好了这道题,涉及到了很多OC语言基础的知识点,由于使用的是xocde6.3.2,没有办法进行手动内存管理,所以省略了这一部分,供大家参考

代码已经放在这篇博客中了,大家看看有没有问题,给小弟指点下
http://blog.csdn.net/u011349387/article/details/46008287

12 个回复

倒序浏览
看了你代码:至少有一处错误:+(BOOL)isNameHigher:(NSString *)n1 and:(NSString *)n2
当n1和n2完全相等时,你没有返回值。比如:n1="roblonely",n2="roblonely"
回复 使用道具 举报
如果考试还指定必须用OC呀...
回复 使用道具 举报
话说这个代码根本不符合原题的要求
回复 使用道具 举报
围观学习,努力!
回复 使用道具 举报
首先没有手动管内存,其次根据姓名比较并不是说根据字符串长度比较,光看isHigher函数定义,只有你自己懂是什么意思
回复 使用道具 举报
如果是妹子,前面的话当我没说。。。。。
回复 使用道具 举报
题目中的意思好像不是让按照名字的长度来排序的吧,C语言中有strcmp用来给字符串排序,那么oc中有没有对应的方法啊
回复 使用道具 举报
yuang4074 发表于 2015-5-26 16:08
看了你代码:至少有一处错误:+(BOOL)isNameHigher:(NSString *)n1 and:(NSString *)n2
当n1和n2完全相等 ...

大神,C语言中给字符串排序的函数strcmp,对oc中的NSString类的字符串不能使用,那么在oc中,如果想要排序的话,有没有对应的方法呢
回复 使用道具 举报
同样的问题,感觉蒙蒙哒
回复 使用道具 举报
学习学习!
回复 使用道具 举报
guyuexing 来自手机 中级黑马 2016-1-24 23:47:21
12#
学习了!
回复 使用道具 举报
学习学习!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马