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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 一个人狂欢丶 初级黑马   /  2013-2-27 03:27  /  1320 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

不知道能不能在这里发帖问问题的,毕竟我没有报名参加黑马学员的培训。如果不可以管理员给个提醒提问贴该发哪里,谢谢了!
我刚开始学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]第一段代码红色部分是我第二段代码做改动的地方,这几个地方改了以后我再运行就可以运行了,而且答案是没错的,我也不知道这什么原理,可是我就是觉得这么改可以得出所要的需求,有没有高手告诉我一下这什么原理啊。

3 个回复

倒序浏览
为什么我标注颜色的地方不行了呢{:soso_e127:}
回复 使用道具 举报
  1. public static char getLevel(int num)         //你这里的返回值应该为char 类型,
  2.         {
  3.         char level;                                 //因为你定义的level变量时char类型的
  4.         if(num>=90 && num<=100)
  5.         level = 'A';
  6.         else if(num>=80 && num<=89)
  7.         level = 'B';
  8.         else if(num>=70 && num<=79)
  9.         level = 'C';
  10.         else if(num>=60 && num<=69)
  11.         level = 'D';
  12.         else
  13.         level = 'E';

  14.         return level;
  15.         }
  16.         public static void main(String[] args)
  17.         {

  18.         char ch = getLevel(35);
  19.         System.out.println("level="+ch);
  20.         }
复制代码
这里的大部分人都还没有入黑马进行培训,都在努力争取机会进入黑马。任何爱编程的人都可以到这里参加讨论互相成长。
最后,欢迎你的到来!
回复 使用道具 举报
李志卫 发表于 2013-2-27 03:42
这里的大部分人都还没有入黑马进行培训,都在努力争取机会进入黑马。任何爱编程的人都可以到这里参加讨论互 ...

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