Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何设置将n/a与int一起使用的异常_Java_List_Comparator - Fatal编程技术网

Java 如何设置将n/a与int一起使用的异常

Java 如何设置将n/a与int一起使用的异常,java,list,comparator,Java,List,Comparator,我对Java相当陌生。 我试图读取一个文本文件,对于一个整数值,输入可能是文件中的n/a。现在,我必须把它进一步传递给一个列表,它将被排序。这个n/a元素将使用比较器进行比较。你能帮我一点忙吗?非常感谢 更新1: 想要添加代码。正如你在上面看到的。其中一个标记可以是值n/a,该值被进一步传递给构造函数,然后添加到名为data的列表中。我想知道如何解决这个问题 while (sc.hasNext()) { String l = sc.next().trim(); S

我对Java相当陌生。 我试图读取一个文本文件,对于一个整数值,输入可能是文件中的n/a。现在,我必须把它进一步传递给一个列表,它将被排序。这个n/a元素将使用比较器进行比较。你能帮我一点忙吗?非常感谢

更新1: 想要添加代码。正如你在上面看到的。其中一个标记可以是值n/a,该值被进一步传递给构造函数,然后添加到名为data的列表中。我想知道如何解决这个问题

while (sc.hasNext()) {
        String l = sc.next().trim();
        String[] tokens = l.split(":");

        String n = tokens[0];
        String img = tokens[1];
        try{
        Integer he = Integer.parseInt(tokens[2]);
        Integer a  = Integer.parseInt(tokens[3]);
        Integer ho = Integer.parseInt(tokens[4]);
        Integer k  = Integer.parseInt(tokens[5]);
        Integer t  = Integer.parseInt(tokens[6]);
        Integer w  = Integer.parseInt(tokens[7]);


        ImageIcon im = new ImageIcon(imagePath + File.separator + img);

        SpaceShip ss = new SpaceShip(n, im, he, a, ho, k, t, w);
        data.add(ss);
        }

如果您的意图是仅创建“SpaceShip”的实例,并在您正在解析的字符串不包含任何“n/a”值的情况下将其添加到“数据”列表中,那么在尝试创建SpaceShip之前,您可以尝试检查您的令牌以查看它是否包含任何“n/a”值

if (Arrays.asList(tokens).contains("n/a")) {
  throw new Exception("Can't create SpaceShip with n/a values");
  // you could just continue here if you want to ignore lines with n/a
  // values but still create SpaceShips if you have valid values
  // continue;
}

您试过了吗?是的,我试过使用try&catch,但是我仍然无法传递数据,当以整数形式被列表读取时,带n/a的元素被拒绝。您如何解析该文件?您将输入传递到哪种类型的列表?正在进行哪些转换?让我们看一些代码。然后请分享您添加的代码。请现在回复