黑马程序员技术交流社区

标题: 找错开始 [打印本页]

作者: 落叶归根    时间: 2013-8-29 17:42
标题: 找错开始
本帖最后由 杨增坤 于 2013-9-5 20:33 编辑

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


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);
}

}


这个程序哪里错了!!!

作者: 垂天云    时间: 2013-8-29 17:54
本帖最后由 垂天云 于 2013-8-29 17:55 编辑

  1. <P>//修改后的代码为:</P>
  2. <P>class Demo
  3. {
  4. public static char getLevel(int num)
  5. {
  6. char level;
  7. if(num>=90 & num<=100)
  8. level = 'A';
  9. else if(num>=80 & num<=89)
  10. level = 'B';
  11. else if(num>=70 & num<=79)
  12. level = 'C';
  13. else if(num>=60 & num<=69)
  14. level = 'D';
  15. else
  16. level = 'E';
  17. return level;
  18. }
  19. public static void main(String[] args)
  20. {

  21. char ch = getLevel(35);
  22. System.out.println("level="+ch);
  23. }

  24. }

  25. </P>
复制代码
楼主,你好!

错误在于: 函数返回值类型错误!
public static string getLevel(int num)中的string 变为 char 类型就可以了···public static char getLevel(int num)

作者: 代文娟    时间: 2013-8-29 17:55
public static String getLevel(int num )返回类型应该是char类型的,不是String类型的, char ch = getLevel(35);你这句话接受的是char类型的。
作者: 行如止水    时间: 2013-8-29 18:11
明显的返回值弄错了,将String改成char就行了!
作者: .....淡定    时间: 2013-8-29 20:06
不是String而是char




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2