2011-08-01 78 views
0

對不起,如果這是作爲「noob」問題發生的,但我確實卡住了,無法找到任何幫助,無論我在哪裏查找。通過OnClickListener存儲到Java數組中

我遇到的問題是這樣的:

用戶填寫一個文本框,說多少個號碼(雙打),他將下一個輸入(比如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]我得到一個錯誤信息。我已經做了一些調試,並且只要在數組中進行存儲就會彈出錯誤消息。我知道我錯過了一些關於這方面的基本知識,而且對於陷入困境我感到非常愚蠢,但我非常感謝你們可能提供的任何幫助或建議。

非常感謝,尤金

P.S.我必須聲明數組後面的「n」已經被輸入,但是當我嘗試在下一個OnClickListener中使用它時,除非聲明爲final,否則它不能訪問它,或者作爲類變量(公共/私人等)。

回答

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); 
     } 
    } 

編輯: 您需要x[i] = Double.parseDouble(input.getText().toString());之前調用i--;如果你調用new double[10]那麼只有x[0]噸通過x[9]是有效的指針。

+0

對不起,如果我錯過任何東西,但只是被標記爲錯誤... – Eugen

+0

謝謝,但那不是我的問題。我知道如何輕鬆處理這些操作。我的問題是,當我試圖存儲INSIDE onClickListener方法時,應用程序始終強制關閉。 – Eugen

+0

你可能會遇到一個數組越界的錯誤。請參閱上面的編輯 –