Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.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:无效的int:"&引用;模型纹理_Java_Android_Opengl Es - Fatal编程技术网

java.lang.NumberFormatException:无效的int:"&引用;模型纹理

java.lang.NumberFormatException:无效的int:"&引用;模型纹理,java,android,opengl-es,Java,Android,Opengl Es,我想添加纹理到我的模型,但我不断得到这个错误。任何帮助都将不胜感激。谢谢 for (String i : faces) { for (String j : i.split(" ")) { iCoords[faceIndex] = (short) faceIndex++; String[] faceComponent = j.split("/"); String vertex = vertexes.get(Integer.parseInt(

我想添加纹理到我的模型,但我不断得到这个错误。任何帮助都将不胜感激。谢谢

for (String i : faces) {
    for (String j : i.split(" ")) {
        iCoords[faceIndex] = (short) faceIndex++;
        String[] faceComponent = j.split("/");

        String vertex = vertexes.get(Integer.parseInt(faceComponent[0]) - 1);

        // this line throws NFE
        String texture = textures.get(Integer.parseInt(faceComponent[1]) - 1);
        String vertexComp[] = vertex.split(" ");
        String textureComp[] = texture.split(" ");

        for (String v : vertexComp) {
            vCoords[vertexIndex++] = Float.parseFloat(v);
        }

        for (String t : textureComp) {
            tCoords[textureIndex++] = Float.parseFloat(t);
        }
    }
}
java.lang.RuntimeException:无法启动活动 ComponentInfo{com.app.glapp/com.app.glapp.MainActivity}: java.lang.NumberFormatException:无效的int:“
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2413)上
在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2471)
在android.app.ActivityThread.access$900(ActivityThread.java:175)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308)
位于android.os.Handler.dispatchMessage(Handler.java:102)
在android.os.Looper.loop(Looper.java:146)
在android.app.ActivityThread.main(ActivityThread.java:5603)上
位于java.lang.reflect.Method.Invokenactive(本机方法)
在java.lang.reflect.Method.invoke(Method.java:515)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
在dalvik.system.NativeStart.main(本机方法)
原因:java.lang.NumberFormatException:无效int:“
在java.lang.Integer.InvalidIt(Integer.java:137)
位于java.lang.Integer.parseInt(Integer.java:358)
在java.lang.Integer.parseInt(Integer.java:331)
在com.mingatronterprices.glapp.mesh.(mesh.java:72)
在com.mingatronterprices.glapp.ClearRenderer.(MainActivity.java:70)
在com.app.glapp.ClearGLSurfaceView.(MainActivity.java:54)
位于com.app.glapp.MainActivity.onCreate(MainActivity.java:32)
在android.app.Activity.performCreate(Activity.java:5458)
在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)上
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2377)上
在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2471)
在android.app.ActivityThread.access$900(ActivityThread.java:175)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308)
位于android.os.Handler.dispatchMessage(Handler.java:102)
在android.os.Looper.loop(Looper.java:146)
在android.app.ActivityThread.main(ActivityThread.java:5603)上
位于java.lang.reflect.Method.Invokenactive(本机方法)
在java.lang.reflect.Method.invoke(Method.java:515)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
在dalvik.system.NativeStart.main(本机方法)


尝试这样修改:

       for (String v : vertexComp) {
            try {
                vCoords[vertexIndex++] = Float.parseFloat(v);
            }
            catch (NumberFormatException e) {
            }
        }

        for (String t : textureComp) {
            try {
                tCoords[textureIndex++] = Float.parseFloat(t);
            }
            catch (NumberFormatException e) {
            }
        }

很明显,
faceComponent
vertexCompo
textureComp
数组的元素不能解析为整数/浮点数。使用调试器并修复分割模式。请将异常(+stacktrace)添加到问题文本中。并确保您的
j
字符串看起来不像
[number]/[number]
(例如
1//2
)。在当前代码中不能使用双斜杠(或更多)。Tom,实际上我认为它可能是这样的。我如何改变它?我对所有这些拆分方法都不熟悉。谢谢回复@limus试试
split(“/+”)
而不是
split(“/”)
@Tom谢谢!我不得不做一些其他的改变,但这成功了!恐怕不是这样。异常是在“字符串纹理…”线上抛出的,忽略该异常不是一个好主意,因为它看起来像是编程错误,而不是“预期异常”。