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