不知道能不能在这里发帖问问题的,毕竟我没有报名参加黑马学员的培训。如果不可以管理员给个提醒提问贴该发哪里,谢谢了!
我刚开始学java,看毕老师的java入门教学,然后下载了毕老师的java基础源代码Coders,里面有一道练习题,题目和答案是这样的
1.
已知学生成绩以100分为满分,共分5个等级:A,B,C,D,E。
90~100为等级A,80~89为等级B,70~79为等级C,
60~69为等级D,0~59为等级E。
要求定义一个成绩变量,当成绩变化时,可直接知道该成绩对应的等级。
例如:当成绩为100时,该学生的等级时A。
这段代码是练习里自带的答案,可是我复制到文本到dos里编译出错了。[code]class Demo
{
//定义一功能,通过给定分数,获取该分数对应的等级。
/*
1,明确该功能的结果:等级 char
2,有没有未知内容。分数。int
*/
public static <FONT color=red>String</FONT> 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';
<FONT color=red>return level;
</FONT>}
public static void main(String[] args)
{
<FONT color=red>char ch =</FONT> getLevel(35);
<FONT color=red>System.out.println("level="+ch);
</FONT>}
}
[/code]这段代码是我看完答案运行编译出错后自己改写的,结果打印出来是正确的。[code]<FONT color=black>class Demo
{
public static void chengJi(int x)
{
char chengji;
if(x>=90 && x<=100)
chengji = 'A';
else if(x>=80 && x<=89)
chengji = 'B';
else if(x>=70 && x<=79)
chengji = 'C';
else if(x>=60 && x<=69)
chengji = 'D';
else
chengji = 'E';
System.out.println("chengji="+chengji);
}
public static void main(String[] args)
{
chengJi(35);
}
}</FONT>[/code]第一段代码红色部分是我第二段代码做改动的地方,这几个地方改了以后我再运行就可以运行了,而且答案是没错的,我也不知道这什么原理,可是我就是觉得这么改可以得出所要的需求,有没有高手告诉我一下这什么原理啊。 |
|