android studio java.lang.ArrayIndexOutOfBoundsException:length = 1;索引= 1

时间:2020-04-11 20:13:54

标签: android

这是我的代码;

String KLMN = isekle_dosyaucreti.getText().toString(); if (!KLMN.contains(",")) {

        KLMN = KLMN + ",00";
        Toast.makeText(getApplicationContext(), KLMN, Toast.LENGTH_SHORT).show();

    }
    else if(KLMN.contains(",")){

        String[] data = KLMN.split(",", 2); //before comma
        String[] xab = KLMN.split(",");
        String nn = xab[0];
        String mm = xab[1]; // after comma

        if(mm.length() < 2) {
            KLMN = data[0].concat("," + mm).concat("0");
            Toast.makeText(getApplicationContext(), KLMN, Toast.LENGTH_SHORT).show();
        }

        else if(mm.length() == 2) {
            KLMN = data[0].concat(","+xab[1]);
            Toast.makeText(getApplicationContext(), KLMN, Toast.LENGTH_SHORT).show();
        }

        else if(mm.length() > 2) {
            Toast.makeText(getApplicationContext(), "The number after the strike cannot be larger than 2 digits", Toast.LENGTH_SHORT).show();
        }

        else if(mm.length() == 0) {
            Toast.makeText(getApplicationContext(), "Should be after the vigrul", Toast.LENGTH_SHORT).show();
        }

    }

<

--------- This is the error: beginning of crash

2020-04-11 23:04:33.560 609-609 / com.nicatalibli.bilirkisiasistanti E / AndroidRuntime:FATAL EXCEPTION:main 流程:com.nicatalibli.bilirkisiasistanti,PID:609 java.lang.ArrayIndexOutOfBoundsException:length = 1;索引= 1 在com.nicatalibli.bilirkisiasistanti.Activity.BottomActivity.isekle.Deneme(isekle.java:1422) 在com.nicatalibli.bilirkisiasistanti.Activity.BottomActivity.isekle.onClick(isekle.java:1462) 在android.view.View.performClick(View.java:6597) 在android.view.View.performClickInternal(View.java:6574) 在android.view.View.access $ 3100(View.java:778) 在android.view.View $ PerformClick.run(View.java:25885) 在android.os.Handler.handleCallback(Handler.java:873) 在android.os.Handler.dispatchMessage(Handler.java:99) 在android.os.Looper.loop(Looper.java:193) 在android.app.ActivityThread.main(ActivityThread.java:6669) 在java.lang.reflect.Method.invoke(本机方法) 在com.android.internal.os.RuntimeInit $ MethodAndArgsCaller.run(RuntimeInit.java:493) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

错误行;

字符串mm = xab [1]; >

1 个答案:

答案 0 :(得分:0)

Length = 1 表示数组只有一个元素并且位于第0个位置,因为数组从第0个位置开始,并且您正在从数组访问第1(index = 1)个位置元素或进行某些操作在第一位置。这就是错误指示的内容。在KLMN中,“,”之后没有任何数字,这就是为什么您没有尝试访问的xab [1]元素的原因。 现在,调试代码并检查数组的真实长度(制表符)。

相关问题