0
我有EditText和數組。我想通過EditText字段的值填充數組。 所有的字符都是數字。我怎樣才能做到這一點? 我已經嘗試:從EditText中填充二維數組的值
...
int [][] a = new int [100][100];
n=1;//now 1, but this value entered in EditText
...
if (edit_1.getText().length() > 0) {
for (int ii = 0; ii < a.length; ii++) {
a[ii][n+1] = Integer.parseInt(String.valueOf(edit_1.getText().charAt(ii)));
}
}
...
a[1][n+2]=a[1][n+1];
...
什麼,我湊了logcat的:
05-13 23:40:55.046: E/AndroidRuntime(27281): FATAL EXCEPTION: main 05-13 23:40:55.046: E/AndroidRuntime(27281): Process: aectann.dcsmp, PID: 27281 05-13 23:40:55.046: E/AndroidRuntime(27281): java.lang.IndexOutOfBoundsException: charAt: 4 >= length 4 05-13 23:40:55.046: E/AndroidRuntime(27281): at android.text.SpannableStringBuilder.charAt(SpannableStringBuilder.java:121) 05-13 23:40:55.046: E/AndroidRuntime(27281): at aectann.dcsmp.Zhegalkin_polynomial.zheg(Zhegalkin_polynomial.java:230) 05-13 23:40:55.046: E/AndroidRuntime(27281): at aectann.dcsmp.Zhegalkin_polynomial$1.onClick(Zhegalkin_polynomial.java:122) 05-13 23:40:55.046: E/AndroidRuntime(27281): at android.view.View.performClick(View.java:4811) 05-13 23:40:55.046: E/AndroidRuntime(27281): at android.view.View$PerformClick.run(View.java:20136) 05-13 23:40:55.046: E/AndroidRuntime(27281): at android.os.Handler.handleCallback(Handler.java:815) 05-13 23:40:55.046: E/AndroidRuntime(27281): at android.os.Handler.dispatchMessage(Handler.java:104) 05-13 23:40:55.046: E/AndroidRuntime(27281): at android.os.Looper.loop(Looper.java:194) 05-13 23:40:55.046: E/AndroidRuntime(27281): at android.app.ActivityThread.main(ActivityThread.java:5549) 05-13 23:40:55.046: E/AndroidRuntime(27281): at java.lang.reflect.Method.invoke(Native Method) 05-13 23:40:55.046: E/AndroidRuntime(27281): at java.lang.reflect.Method.invoke(Method.java:372) 05-13 23:40:55.046: E/AndroidRuntime(27281): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:964) 05-13 23:40:55.046: E/AndroidRuntime(27281): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:759)
121 - 函數;
230 - a[ii][n+1] = Integer.parseInt(String.valueOf(edit_1.getText().charAt(ii)));
發生錯誤時您輸入了多少位數? – Omar