如果这是一个“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>
答案 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]
才有效。