java - 无法分两步按降序对java数组进行排序:第一个从索引0到12,第二个从索引13到24
问题描述
抱歉,这可能是一个愚蠢的问题,但我是一个初学者:当我尝试执行以下程序时,它会编译,但我收到以下错误:
“线程“主”java.lang.ArrayIndexOutOfBoundsException 中的异常:Numbers.main(Numbers.java:6)处的-1”
有人可以帮忙吗?
public class Numbers {
public static void main (String[] args) {
int [] harry = new int [25];
for (int i = 0, n = 12; i < harry.length; i++, n--) {
if (i % 2 > 0) {
harry[n] = i;
}
}
for (int j = 0, m = 25; j < harry.length; j++, m--) {
if (j % 2 == 0) {
harry[m] = j;
}
}
for (int k = 0; k < harry.length; k++) {
System.out.println(harry[k]);
}
}
}
解决方案
您有这种运行时异常,因为您尝试获取 harry[-1],但这是不可能的。您还将在第二个中看到此异常,因为您设置 m = 25,但数组的索引是从 0 到 24。设置 n=harry.length-1 和 m = harry.length-1,那么您的程序将工作。
推荐阅读
- python - 在 python 中使用 barplot 时如何修复 AttributeError?
- c# - 向 ASP.NET Core JWT Bearer 令牌验证添加额外的身份验证检查
- gwt - 谷歌网络工具包无法构建项目
- android - 在 xamarin android 中使用 dapper 后的 SNIX_CONNECT SNI_ERROR_35
- linux - 从一个文件中提取与另一个文件中的行相对应的数据
- java - 从 wsdl 为每个操作生成 in 和 out xsd(schema)
- python - 如何在 pandas 的列中添加字符“-> df.update 和其他方法似乎无法正常工作
- angular - Datatable.net 分页未显示在 Angular 7 项目中
- reactjs - React-Table:在组件 ref 上调用“getResolvedState()”引发异常
- docker - 如何以分离模式将 Bitbucket 服务器作为容器启动?