有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java数组将Null作为值忽略

我有密码:

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,它也会执行。有什么建议吗

谢谢


共 (2) 个答案

  1. # 1 楼答案

    目录[i+1]的下一个值永远不会为null@“if(directory[i+1]!=null){”,因为在else语句之前,您要检查目录[i+1]==null

    我猜是迭代中的一个小错误,你可能是在[k+1]目录中

  2. # 2 楼答案

    您的问题是没有在循环中使用循环索引。你只是一遍又一遍地测试初始

    这个

    if (directory[i+1] != null){
    

    应该是这个吗

    if (directory[k+1] != null){