通过OnClickListener存储到Java数组中

时间:2011-08-01 14:00:07

标签: java arrays

如果这是一个“noob”问题,我很抱歉,但是我真的被困住了,无论我在哪里,都找不到任何帮助。

我遇到的问题是:

用户填写一个文本框,说明他接下来要输入多少个数字(双打)(比如n)

我将该数字存储在OnClickListener方法中(可以正常工作)

public double n;
//CODE

n = Integer.parseInt(input.getText().toString());

然后我需要存储用户将输入的n个数字

他将填写文本框,按回车键,数字应存储在数组

类似的东西:

int i = n;
double x[] = new double[n];

button1.onClick(View view){
   x[i] = Double.parseDouble(input.getText().toString());
   i--;
}

无论我如何声明x [i],我都会收到错误消息。我已经做了一些调试,每当在阵列中发生故障时都会弹出错误。我知道我错过了一些基本的东西,我觉得很难接受这个,但我真的很感激你们可能有任何帮助或建议。

非常感谢,Eugene

P.S。我必须声明数组AFTER“n”已被输入,但是当我尝试在下一个OnClickListener中使用它时,它不能访问它,除非它被声明为final,或者作为类变量(public / private etc。)< / p>

1 个答案:

答案 0 :(得分:1)

double x[] = new double[n];

应为double[] x = new double[n];

示例:

public static void main(String[] args) {
        int n = 10;
        double[] x = new double[n];
        x[5] = 7;
        x[1] = 31;
        for(double i: x) {
            System.out.println(i);
        }
    }

编辑: 如果您致电i--;,则需要在x[i] = Double.parseDouble(input.getText().toString());之前致电new double[10],然后只有x[0]x[9]才有效。