黑马程序员技术交流社区
标题:
关于java基础学习中,第三天练习的问题
[打印本页]
作者:
海角秋风
时间:
2015-5-31 11:22
标题:
关于java基础学习中,第三天练习的问题
本帖最后由 海角秋风 于 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的。)
作者:
曲终烟尽
时间:
2015-5-31 13:38
你定义的函数返回值是 String,但你实际 返回的和你定义的不同你要返回char肯定报错
你自己说你会给一个 火车票,结果最后你给人家检验员一个 汽车票,人家肯定不让你通过。
作者:
13699266500
时间:
2015-5-31 13:41
学习了!!!
作者:
曲终烟尽
时间:
2015-5-31 13:43
char c='a';
String str=String.valueOf(c);
System.out.println("c="+c);
System.out.println("str="+str);
输出:
c=a
str=a
作者:
海角秋风
时间:
2015-6-1 08:50
曲终烟尽 发表于 2015-5-31 13:38
你定义的函数返回值是 String,但你实际 返回的和你定义的不同你要返回char肯定报错
你自己说你会给一个 ...
这个是可以理解的,看来还是给的答案错误了。谢谢。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2