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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小叔 注册黑马   /  2014-5-23 11:47  /  1062 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


  1.         public static void main(String[] args) {
  2.                 byte[] arr= {'1','2','3','4','5','6','7'};
  3.                 cha(arr,(byte)'4');
  4.         }
  5.             //下边返回类型改成int 接受参数就出一次了
  6.         public static void cha(byte[] arr,byte a){
  7.                 for(int x=0;x<arr.length;x++)throws  IllegalArgumentException{
  8.                         if(arr.length==0){
  9.                                 throw new IllegalArgumentException;//异常也抛不了
  10.                         }
  11.                         if(arr[x]==a){
  12.                                 System.out.println(x);
  13.                                 break;
  14.                         }
  15.                         if(x+1==arr.length && arr[x]!=a){
  16.                                
  17.                                 return -1;//不能返回-1
  18.                         }
  19.                 }
  20.         }
复制代码

急急急  大神帮看看

评分

参与人数 1技术分 +1 收起 理由
轻语。 + 1 继续加油。

查看全部评分

3 个回复

倒序浏览
  1. public class Demo2{
  2.   public static void main(String[] args) {
  3.             byte[] arr= {'1','2','3','4','5','6','7'};
  4.             cha(arr,(byte)'4');
  5.     }
  6.         //下边返回类型改成int 接受参数就出一次了
  7.     public static int cha(byte[] arr,byte a){
  8.             if(arr != null){
  9.             for(int x=0;x<arr.length;x++)/*throws  IllegalArgumentException*/{
  10.                   
  11.                     if(arr.length==0){
  12.                             throw new IllegalArgumentException();//异常也抛不了
  13.                            
  14.                     }
  15.                 if(arr[x]==a){
  16.                             System.out.println(x);
  17.                             return 0;//0说明找到该数据        
  18.                 }
  19.                 if(x+1==arr.length && arr[x]!=a){               
  20.                             return -1;//-1说明没找到该数据
  21.                 }
  22.             }
  23.             }
  24.             return -1;//同样没找到数据,查询结束
  25.     }
  26.   }
复制代码


评分

参与人数 1技术分 +1 收起 理由
轻语。 + 1

查看全部评分

回复 使用道具 举报

如果数组长度为0 想让程序抛异常IllegalArgumentException()  怎么做
回复 使用道具 举报
本帖最后由 波涛 于 2014-5-23 13:14 编辑
小叔 发表于 2014-5-23 12:23
如果数组长度为0 想让程序抛异常IllegalArgumentException()  怎么做

  1. public class Demo2{
  2.   public static void main(String[] args) {
  3.             byte[] arr= {'1','2','3','4','5','6','7'};
  4.             try{
  5.                     cha(arr,(byte)'4');
  6.             }catch(IllegalArgumentException e){//捕获发生的异常
  7.                System.out.println("发生异常,检查数组长度,错误:"+e.toString());
  8.             }
  9.     }
  10.         //下边返回类型改成int 接受参数就出一次了
  11.     public static int cha(byte[] arr,byte a)throws  IllegalArgumentException{
  12.             if(arr != null){
  13.                 for(int x=0;x<arr.length;x++)
  14.                 {  
  15.                      if(arr[x]==a){
  16.                             System.out.println(x);
  17.                             return 0;//0说明找到该数据        
  18.                      }
  19.                     if(x+1==arr.length && arr[x]!=a){               
  20.                             return -1;//-1说明没找到该数据
  21.                      }
  22.                  }//for循环结束
  23.                 if(arr.length==0){
  24.                      throw new IllegalArgumentException();//【异常也抛不了】现在可以抛了!         
  25.                 }        
  26.              }//最外层if结束
  27.             return -1;//没发生异常,同样没找到数据,查询结束
  28.       }
  29.   }
复制代码

评分

参与人数 1黑马币 +2 收起 理由
小叔 + 2 谢了

查看全部评分

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