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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王桂丽 中级黑马   /  2012-7-7 21:26  /  2631 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我编写了一个程序:
class  Texst
{
public static void main(String[] args)
{
  int []arr={4,6,7,9,0,3};
  int DaShu=getDaShu(arr,9);
  System.out.println(DaShu);
}
public static int getDaShu(int[] arr,int x)
{
  for(int y=0,y<arr.length;y++)
  {
   if (arr[y]==arr[x])
   return x;
  }
}
return -1;
}




为什么运行结果总是提示错误:file:///C:/Users/samsung/AppData/Roaming/Tencent/Users/2531988876/QQ/WinTemp/RichOle/3KS%7DRFHKZI%7B]BJO7630K@FF.jpg
这种情况是怎么回事?

10 个回复

倒序浏览
  1. class  Text1
  2. {
  3. public static void main(String[] args)
  4. {
  5.   int []arr={4,6,7,9,0,3};
  6.    int DaShu=getDaShu(arr,9);
  7.    System.out.println(DaShu);
  8. }
  9. public static int getDaShu(int[] arr,int x)
  10. {
  11.    for(int y=0;y<arr.length;y++)  //y=0后面是“;”分号,而不是逗号。
  12.    {
  13.     if (arr[y]==x) //这也得改。
  14.     return y;
  15.    }
  16.    return -1; //你return位置放错了。
  17. }

  18. }
复制代码
你是不是想获取9在数组中的位置啊。
说实话,哥们你这个程序写的乱七八糟啊。

评分

参与人数 1技术分 +1 收起 理由
黑马张扬 + 1

查看全部评分

回复 使用道具 举报
你的return-1写错地方了,应该放到getDaShu的方法体内
回复 使用道具 举报
同一楼,我也觉着你这程序写的有问题。。。。建议你说下你的需求然后我们帮你分析下你的程序哪里需要修改下
回复 使用道具 举报
public class Demo {
        public static void main(String[] args)
        {
          int[] arr={4,6,7,9,0,3};
           int DaShu=getDaShu(arr,9);
           System.out.println(DaShu);
         }
         public static int getDaShu(int[] arr,int x)
         {
           for(int y=0;y<arr.length;y++)
           {
            if (arr[y]==x)//方法中是int,怎么到数组中了
            return x;
           }
           return -1;//问题很容易搞的,哥们好好学
         }
         
}

回复 使用道具 举报
class  Demo
{
public static void main(String[] args)
{
  int []arr={4,6,7,9,0,3};
  int DaShu=getDaShu(arr,9);
  System.out.println("["+DaShu+"]");
}
public static int getDaShu(int[] arr,int x)
{
  for(int y=0;y<arr.length;y++)//这里不是,是;
  {
   if (arr[y]==x)
   return y;
  }
  return -1;//return在里面
}

}
不知道你是不是求9的角标  如果需求是9是否存在请看1楼
回复 使用道具 举报
本帖最后由 陈冲 于 2012-7-7 22:21 编辑
  1. class  Texst
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.           int []arr={4,6,7,9,0,3};
  6.           int DaShu=getDaShu(arr,9);
  7.           System.out.println(DaShu);
  8.         }
  9.         public static int getDaShu(int[] arr,int x)
  10.         {
  11.           for(int y=0;y<arr.length;y++)
  12.           {
  13.                    if (arr[y]==x) //如果你上边 DaShu=getDaShu(arr,9) 中的9不是表示数组位置的话,这里应该改成arr[y]==x,因为你定义的数组只有6个元素,arr[9]并不存在
  14.                    return x;
  15.           }
  16.           return -1; //return -1;放到getDaShu函数体内,放在外边肯定会报错
  17.         }

  18. }

复制代码
感觉很混乱啊,起码每行的缩进都弄好了啊,要不然自己看的时候都很累
回复 使用道具 举报
public class Demo {
        public static void main(String[] args)
        {
          int[] arr={4,6,7,9,0,3};
           int DaShu=getDaShu(arr,9);
           System.out.println(DaShu);
         }
         public static int getDaShu(int[] arr,int x)
         {
           for(int y=0;y<arr.length;y++)
           {
            if (arr[y]==x)//注意你要比较的x,已经是个具体的整型值,而不是数组的角标
            return y;//返回所查找数在数组中的角标值,返回x,那这个函数不是无意思了,x是你赋值好的
           }
           return -1;//这个语句要放在getDashu(,)内,目的是在数组没找不到参数x时,返回-1
         }
         
}
回复 使用道具 举报
我怀疑你的java环境变量都匹配错啦。
回复 使用道具 举报
对,需求就是求9的角标
回复 使用道具 举报
2531988876 发表于 2012-7-7 22:40
对,需求就是求9的角标
  1. class  Texst
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.           int []arr={4,6,7,9,0,3};
  6.           int DaShu=getDaShu(arr,9);
  7.           System.out.println(DaShu);
  8.         }
  9.         public static int getDaShu(int[] arr,int x)
  10.         {
  11.           for(int y=0;y<arr.length;y++)
  12.           {
  13.                    if (arr[y]==x) //如果你上边 DaShu=getDaShu(arr,9) 中的9不是表示数组位置的话,这里应该改成arr[y]==x,因为你定义的数组只有6个元素,arr[9]并不存在
  14.                    return y;//如果要求9的角标,这里应该返回y,因为在if(arr[y]==x)中判断出了以y为角标的元素值为9
  15.           }
  16.           return -1; //return -1;放到getDaShu函数体内,放在外边肯定会报错
  17.         }

  18. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马