Topic: 菜鸟问题: 如何在方法返回boolean型

  Print this page

1.菜鸟问题: 如何在方法返回boolean型 Copy to clipboard
Posted by: phoenix451
Posted on: 2005-09-13 11:51

我在程序中祥返回一个boolean型的值来判断一下真假,从而确定程序该如何执行,
程序如下:
//以下方法主要视为了实现判断数字k是否在数组course内出现过,
//如果出现则返回false,否则返回true
static boolean judge(int k,int[] course)
{
   for(int i=0;i<course.length;i++)
   {
     if(course[i]==k)
     {
       return false;
     }
     else
     {
       if(i==course.length)
         return true;
       else
         continue;
     }
   }
}

可是我在eclipse里面总是报错,向各位大大求救了

2.Re:菜鸟问题: 如何在方法返回boolean型 [Re: phoenix451] Copy to clipboard
Posted by: why
Posted on: 2005-09-13 11:57

I think the compiler should have provided you enough information for this compilation error...
add a return false; as the last line of this method, i.e. the compiler is not clever enough to analyze the logic and adding a default return will bring a peace of "mind" Smile

3.Re:菜鸟问题: 如何在方法返回boolean型 [Re: phoenix451] Copy to clipboard
Posted by: JavaandC
Posted on: 2005-09-13 12:15

你在最后一步没有返回boolean值当然会报错了,这样写就可以了。看注释:!//
static boolean judge(int k,int[] course)
{
for(int i=0;i<course.length;i++)
{
if(course[i]==k)
{
return false;
}
else
{
if(i==course.length)
return true;
else
continue;
}
}
return false;//少这句返回语句
}

4.Re:菜鸟问题: 如何在方法返回boolean型 [Re: phoenix451] Copy to clipboard
Posted by: phoenix451
Posted on: 2005-09-13 14:51

大大,虽然这样视不报错了;可是,我的代码所要实现的功能却没有了,
public class exam{
  public static void main(String args[])
  {
  int k=22;
  int[] course={1,2,3,4,5,6,7,8,9,0};
  if(judge(k,course))
    System.out.println("the k is not in the course ");
  else
    System.out.println("the k is in the course");
}
  static boolean judge(int k,int[] course)
  {
  for(int i=0;i<course.length;i++)
  {
  if(course[i]==k)
  {
  return false;
  }
  else
  {
  if(i==course.length)
  return true;
  else
  continue;
  }
  }
  return false;//少这句返回语句
  }
}
在改变k的值为2,22的情况下,应该是两种不同的输出,可是,在eclipse下的输出结果都是说k在数组里面,大大,可以告诉我这是怎么回事吗?

5.Re:菜鸟问题: 如何在方法返回boolean型 [Re: phoenix451] Copy to clipboard
Posted by: phoenix451
Posted on: 2005-09-13 15:03

谢谢给为大大了,原来我在程序里面多了这样的一句话:
else
continue;
这句话是多余的,如果多了他的话,程序总是会返回false,

呵呵,真是麻烦各位大大了;小弟在此多谢各位了:)


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923