如何停止此java.lang.ArrayIndexOutOfBoundsException?

如何停止此java.lang.ArrayIndexOutOfBoundsException?,java,event-handling,jtextfield,Java,Event Handling,Jtextfield,我正在尝试验证我的jtextfield是否只输入货币价值。其中仅包括数字和句号。ex-17652.50 所以我尝试了这个方法。但是当它执行时,我得到了这个java.lang.ArrayIndexOutOfBoundsException:1 这里是方法。 private void jTextField1KeyTyped(java.awt.event.KeyEvent evt){ 试一试{ char c=evt.getKeyChar(); 字符串mny[]=jTextField1.getTex

我正在尝试验证我的jtextfield是否只输入货币价值。其中仅包括数字和句号。ex-17652.50
所以我尝试了这个方法。但是当它执行时,我得到了这个java.lang.ArrayIndexOutOfBoundsException:1

这里是方法。

private void jTextField1KeyTyped(java.awt.event.KeyEvent evt){
试一试{
char c=evt.getKeyChar();
字符串mny[]=jTextField1.getText().split(“\\”);

如果(!((c>='0')&&(c您可以将您的条件更改为:

    if (mny.length > 1 && mny[1].length() == 2) {
        getToolkit().beep();
        evt.consume();
    }

(或类似情况,取决于所需的逻辑)

您可以将条件更改为:

    if (mny.length > 1 && mny[1].length() == 2) {
        getToolkit().beep();
        evt.consume();
    }

(或类似的,取决于所需的逻辑)

Iy输入中没有点
字符串mny[]=jTextField1.getText().split(\\);
将返回一个只包含一个项的数组。java中的数组是零基的。因此
mny[1]。length()
将抛出
ArrayIndexOutOfBoundsException

如果数组的大小为2,则应在此处进行检查

if (mny.length > 1 && mny[1].length() == 2) {

Iy输入中没有点
String mny[]=jTextField1.getText().split(\\.”;
将返回一个只包含一项的数组。java中的数组是基于零的。因此
mny[1]。length()
将抛出
ArrayIndexOutOfBoundsException

如果数组的大小为2,则应在此处进行检查

if (mny.length > 1 && mny[1].length() == 2) {

是的工作..非常感谢..我试过(mny[0]。长度>1&&mny[1]。长度()=2),但从没想过这个..:D:D谢谢你…是的工作..非常感谢..我试过(mny[0]。长度>1&&mny[1]。长度()=2),但从没想过这个..:D:D谢谢你。。。