2017-04-18 3 views
1

ねえ、私はこれをやっていく上で問題があります。目的はこのようなint配列を{1, 2, 3, 4}に変換することです。各要素に1を加え、ENHANCED forループを使用して印刷すると、{2, 3, 4, 5}のようになります。これは私がこれまでに得たものである:それは近くないJAVAで強化されたforループを使用して配列の各要素に1を加える

int myArr[] = {1, 2, 3, 4}; 

    for (int i: myArr){ 
     i =+1; 
     myWindow.writeOutLine(i); 
    } 

かなり確信して、私は、配列に新しい値を保存し、次に行く方法がわかりませんよ。

答えて

1

拡張ループを使用する必要がある場合は、別のインデックス変数を使用できます。

int myArr[] = {1, 2, 3, 4}; 
int count = 0 ; 
for (int i: myArr){ 
    myArr[count] = i+1; 
    myWindow.writeOutLine(myArr[count]); 
    count++; 
} 
+0

よかったよ!意味あり – Xace

4

forループではループがインデックスのインデックスを隠すので、配列を変更することはできません。

従来のforループを代わりに使用します。

for (int i = 0; i < myArr.length; i++) { 
    myArr[i]++; 
    myWindow.writeOutLine(myArr[i]); 
} 
+1

彼は加えて、彼自身のインデックス変数を使用していますが、それはかなりそれぞれについての目的を台無しにしてしまう*場合まあ、技術的に彼は* *各ループ*用に使用することができます。 – domsson

+0

@domdomそれは本当です。 – Eran

0
int[] myArr = {1, 2, 3, 4}; 

    for(int i = 0; i < myArr.length; i++){ 
     int x = 1; // Amount to increment each value by 
     myArr[i] = myArr[i] + x; 
    } 

    System.out.println(Arrays.toString(myArr)); 
関連する問題