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

© 郝勇 中级黑马   /  2013-3-20 16:39  /  1848 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 郝勇 于 2013-3-20 19:32 编辑

中有这么一道题

已知学生成绩以100分为满分,共分5个等级:A,B,C,D,E。
   90~100为等级A,80~89为等级B,70~79为等级C,
   60~69为等级D,0~59为等级E。
   要求定义一个成绩变量,当成绩变化时,可直接知道该成绩对应的等级。

这个是里边的代码   但是编译出错了      当我将第三行的 返回值类型String改为char后就正确了   

是老师打错了   还是  有什么别的原因   

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

6 个回复

正序浏览
李尧 高级黑马 2013-3-20 19:15:31
7#
因为你getLevel()返回值是String类型的,而你的level定义的是char类型的变量,一个是字符串一个是字符....

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
谢谢大家了  一下子这么多人    就不一个一个的回复了    代码敲的多了  感觉有些东西 可以自己想到了   有进步   自己表扬一个  呵呵!
回复 使用道具 举报
'A' 就是一个字符(char) 你方法返回的是字符串(String) 当然是错误的啊..
你可以把'A' 换成两个点 "A"  其他的都一样要换

'A'   返回值为 char
"A"  返回值为 String
希望对你有帮助。

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
你函数上声明的返回值领型是String 你返回的char 很明显的返回值类型不匹配,从这里看应该是打错了。

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
依我看应该是打错了吧!简单的说String和char类型不一样,就像别人叫了张三李四去答应了肯定会错的.

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
要么level 赋值为 “A”  用双引号

要么 返回值改为 String

单引号 是 char
双引号 是 String

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马