Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.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.lang.NumberFormatException:空字符串-OBJ模型加载器_Java_Regex_Opengl_Models - Fatal编程技术网

java.lang.NumberFormatException:空字符串-OBJ模型加载器

java.lang.NumberFormatException:空字符串-OBJ模型加载器,java,regex,opengl,models,Java,Regex,Opengl,Models,我想将OBJ模型加载到OpenGL中。但是我在获取模型数据时遇到问题,当我读取文件时,我得到以下错误: Exception in thread "main" java.lang.NumberFormatException: empty String at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1011) at java.lang.Float.valueOf(Float.java:417

我想将OBJ模型加载到OpenGL中。但是我在获取模型数据时遇到问题,当我读取文件时,我得到以下错误:

Exception in thread "main" java.lang.NumberFormatException: empty String
    at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1011)
    at java.lang.Float.valueOf(Float.java:417)
    at game.trippylizard.OBJLoader.loadModel(OBJLoader.java:18)
    at game.trippylizard.MainScreen.<init>(MainScreen.java:39)
    at game.trippylizard.MainScreen.main(MainScreen.java:71)
有人能告诉我怎么解决这个问题吗


另外,我对regex和这种格式有点陌生。

似乎您的模型顶点定义行在“v”指令后包含多个空格。 你期望这样:

"v -1.0 1.0 1.0"
但该模型包含以下内容:

"v    -1.0 1.0 1.0"
所以你的代码不能处理这种情况

试着像这样解析:

    String arr[] = line.substring(2).trim().split(" ");

    float x = Float.parseFloat(arr[0]);
    float y = Float.parseFloat(arr[1]);
    float z = Float.parseFloat(arr[2]);
    m.vertices.add(new Vector3f(x,y,z));

请提供您的输入样本。您的输入可能不是有效的浮点或分析错误。请在OBJLoader类的代码中指出第18行。
    String arr[] = line.substring(2).trim().split(" ");

    float x = Float.parseFloat(arr[0]);
    float y = Float.parseFloat(arr[1]);
    float z = Float.parseFloat(arr[2]);
    m.vertices.add(new Vector3f(x,y,z));