java.lang IllegalArgumentException: current should be>=start and <=end

2 篇文章 0 订阅
在写android时,加了个datepickerdialog组件就报这个错误:
new DatePickerDialog(context,listener,Calendar.year,Calendar.month,Calendar.DayofMonth);

java.lang IllegalArgumentException: current should be>=start and <=end
不知道那错了哦
以下是实现题目要求的 ArrayUtil 类的代码: ```java public class ArrayUtil { public static int findMax(int[] arr, int begin, int end) throws IllegalArgumentException { if (begin >= end) { throw new IllegalArgumentException("begin:" + begin + " >= end:" + end); } if (begin < 0) { throw new IllegalArgumentException("begin:" + begin + " < 0"); } if (end > arr.length) { throw new IllegalArgumentException("end:" + end + " > arr.length"); } int max = arr[begin]; for (int i = begin + 1; i < end; i++) { if (arr[i] > max) { max = arr[i]; } } return max; } } ``` 以下是 main 函数的代码,用于测试 ArrayUtil 类的 findMax 方法: ```java import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); int[] arr = new int[n]; for (int i = 0; i < n; i++) { arr[i] = scanner.nextInt(); } int m = scanner.nextInt(); for (int i = 0; i < m; i++) { int begin = scanner.nextInt(); int end = scanner.nextInt(); try { int max = ArrayUtil.findMax(arr, begin, end); System.out.println(max); } catch (IllegalArgumentException e) { System.out.println(e.getClass().getName() + ": " + e.getMessage()); } } } } ``` 在 main 函数中,我们先读入输入的数组和需要调用 findMax 方法的次数。然后在循环中,读入 begin 和 end,调用 findMax 方法,如果 findMax 方法抛出 IllegalArgumentException 异常,就捕获该异常,并输出异常类型和异常信息,否则就输出 findMax 方法的返回值,也就是数组在 [begin, end) 区间内的最大值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值