黑马程序员技术交流社区
标题:
帮忙看看代码什么问题
[打印本页]
作者:
小叔
时间:
2014-5-23 11:47
标题:
帮忙看看代码什么问题
public static void main(String[] args) {
byte[] arr= {'1','2','3','4','5','6','7'};
cha(arr,(byte)'4');
}
//下边返回类型改成int 接受参数就出一次了
public static void cha(byte[] arr,byte a){
for(int x=0;x<arr.length;x++)throws IllegalArgumentException{
if(arr.length==0){
throw new IllegalArgumentException;//异常也抛不了
}
if(arr[x]==a){
System.out.println(x);
break;
}
if(x+1==arr.length && arr[x]!=a){
return -1;//不能返回-1
}
}
}
复制代码
急急急 大神帮看看
作者:
波涛
时间:
2014-5-23 12:07
public class Demo2{
public static void main(String[] args) {
byte[] arr= {'1','2','3','4','5','6','7'};
cha(arr,(byte)'4');
}
//下边返回类型改成int 接受参数就出一次了
public static int cha(byte[] arr,byte a){
if(arr != null){
for(int x=0;x<arr.length;x++)/*throws IllegalArgumentException*/{
if(arr.length==0){
throw new IllegalArgumentException();//异常也抛不了
}
if(arr[x]==a){
System.out.println(x);
return 0;//0说明找到该数据
}
if(x+1==arr.length && arr[x]!=a){
return -1;//-1说明没找到该数据
}
}
}
return -1;//同样没找到数据,查询结束
}
}
复制代码
作者:
小叔
时间:
2014-5-23 12:23
波涛 发表于 2014-5-23 12:07
如果数组长度为0 想让程序抛异常IllegalArgumentException() 怎么做
作者:
波涛
时间:
2014-5-23 13:08
本帖最后由 波涛 于 2014-5-23 13:14 编辑
小叔 发表于 2014-5-23 12:23
如果数组长度为0 想让程序抛异常IllegalArgumentException() 怎么做
public class Demo2{
public static void main(String[] args) {
byte[] arr= {'1','2','3','4','5','6','7'};
try{
cha(arr,(byte)'4');
}catch(IllegalArgumentException e){//捕获发生的异常
System.out.println("发生异常,检查数组长度,错误:"+e.toString());
}
}
//下边返回类型改成int 接受参数就出一次了
public static int cha(byte[] arr,byte a)throws IllegalArgumentException{
if(arr != null){
for(int x=0;x<arr.length;x++)
{
if(arr[x]==a){
System.out.println(x);
return 0;//0说明找到该数据
}
if(x+1==arr.length && arr[x]!=a){
return -1;//-1说明没找到该数据
}
}//for循环结束
if(arr.length==0){
throw new IllegalArgumentException();//【异常也抛不了】现在可以抛了!
}
}//最外层if结束
return -1;//没发生异常,同样没找到数据,查询结束
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2