检查阵列槽中是否有数据

时间:2014-10-24 15:50:13

标签: java

我在使用IF语句时遇到问题,该语句要检查数组中是否有值,如果没有,则将+1添加到InvalidLine。

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class Assignment {

public static void main(String[] args) throws FileNotFoundException {

    Scanner scan = new Scanner(new File("../Text.txt")); 

    String line; 

    while (scan.hasNext()) {

        line = scan.nextLine();

        String[] elements = line.split(":");

        System.out.println("The line has " + elements.length
                + " elements.");

        for (int i = 0; i < elements.length; i++) {

            System.out.println("Element " + (i + 1) + " was : " + elements[i]);


             int InvalidLine = 0;


             if (elements[i] == "");{

             Invalid++; }

             System.out.println("Invalid Fields " + InvalidLine);

        }

    }

}

}

当输出生成时,即使在某些情况下[1]数组中没有数据,也会向InvalidLine添加+1

该行有4个元素。

元素1是:

1

元素2是:饼干

1

元素3是:3

1

元素4是:4

1

该行有4个元素。

元素1是:咖啡

1

元素2是:Cake

1

元素3是:3

1

元素4是:6

1

1 个答案:

答案 0 :(得分:1)

elements[i] == ""

您应永远比较String,使用

elements[i].equals("")

elements[i].isEmpty() // Since Java 6