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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 海角秋风 于 2015-6-3 20:07 编辑

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

class Demo
{
        //定义一功能,通过给定分数,获取该分数对应的等级。
        /*
        1,明确该功能的结果:等级 char
        2,有没有未知内容。分数。int
        */
        public static String getLevel(int num)
        {
                char level;
                if(num>=90 && num<=100)
                        level = 'A';
                else if(num>=80 && num<=89)
                        level = 'B';
                else if(num>=70 && num<=79)
                        level = 'C';
                else if(num>=60 && num<=69)
                        level = 'D';
                else
                        level = 'E';

                return level;
        }
        public static void main(String[] args)
        {
               
                char ch = getLevel(35);
                System.out.println("level="+ch);
        }
        
}

实际运行的时候,结果显示char 和Sting之间无法转换。
将函数中返回值类型由String换成char就解决问题了。

问题是:
1、给的答案为什么用String?(应该不会给错误答案的吧?)
2、String 到底能不能代指char,达到转换的目的?(因为看到后面的答案中,貌似也有返回值类型是char,实际使用String的。)





4 个回复

倒序浏览
你定义的函数返回值是  String,但你实际 返回的和你定义的不同你要返回char肯定报错

你自己说你会给一个 火车票,结果最后你给人家检验员一个 汽车票,人家肯定不让你通过。
回复 使用道具 举报
学习了!!!
回复 使用道具 举报
                  char c='a';
                  String str=String.valueOf(c);
                  System.out.println("c="+c);
                  System.out.println("str="+str);
输出:
c=a
str=a
回复 使用道具 举报
曲终烟尽 发表于 2015-5-31 13:38
你定义的函数返回值是  String,但你实际 返回的和你定义的不同你要返回char肯定报错

你自己说你会给一个  ...

这个是可以理解的,看来还是给的答案错误了。谢谢。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马