我有代码:
for (int i = 0; i < directory.length; i++) {
if (directory[i].contains (number)) {
if (directory[i+1] == null){
directory[i] = null;
}
else {
for (int k=i; k<directory.length; k++){
System.out.println(directory[k]);
System.out.println(directory[k+1]);
if (directory[i+1] != null){
directory[k] = directory[k+1];
System.out.println(directory[k]);
}
我认为重要的一点是"if (directory[i+1] != null){"我正在使用的是一个数组,我试图找到下一个元素是否不为 null,然后执行代码。但是,即使下一个值为 null,它仍然会这样做。有什么建议吗?
谢谢。
你的问题是你没有在循环中使用循环索引。您只是在一遍又一遍地测试初始值。
这
if (directory[i+1] != null){
应该是这个
if (directory[k+1] != null){
directory[i+1] 的下一个值永远不会是空值 @"if (directory[i+1] != null){" 因为在 else 语句之前,您检查目录 [i+1] == null
我的猜测是迭代中的一个小错别字,也许你会目录[K+1]?