2016-05-14 4 views
0

私はArrayList myValuesに格納されたProductclassを得ました。 私は各xth(例えば3番目の)要素のそれぞれに行き、ユーザーに のいくつかの整数値をそのクラスに追加させたいと思っています。forループwithループArrayList with

私のために(...)彼は私にこう伝えます:課題の左側は変数でなければなりません。もし私がいくつかの.get(j)を台無しにしてしまったり、サイズを変更しないように私のメソッドを同期させなければならないのでしょうか?(マルチスレッドはありませんが、おそらく私はなぜエラーが出るのですか? )よりシンプル。

Thxを

public void prioPerProduct(){ 

    System.out.println(""); 
    System.out.println("Please enter storing and upgrading cost:"); 

    InputStreamReader isr = new InputStreamReader(System.in); 
    BufferedReader br = new BufferedReader(isr); 

    int storingCost = 0; 
    int ruestCost = 0; 
    int countRes = countRessources; 
    int sizemyValues = myValues.size(); 
    for(int j = 0; j < sizemyValues; j = j+countRes){ 

     System.out.println("Please enter storingcost " + myValues.get(j).getProduct() +":"); 
     try { 
      storingCost = Integer.valueOf(br.readLine()); 
     } catch (NumberFormatException e) { 
      System.out.println("No number entered"); 
      e.printStackTrace(); 
     } catch (IOException e) { 
      System.out.println("No number entered"); 
      e.printStackTrace(); 
     } 

     System.out.println("Please enter upgradingcost " + myValues.get(j).getProduct() +":"); 
     try { 
      ruestCost = Integer.valueOf(br.readLine()); 
     } catch (NumberFormatException e) { 
      System.out.println("No number entered"); 
      e.printStackTrace(); 
     } catch (IOException e) { 
      System.out.println("No number entered"); 
      e.printStackTrace(); 
     } 

     myValues.get(j).setstoringCost(storingCost); 
     myValues.get(j).setupgradingCost(ruestCost); 


    } 


} 
+0

エラーの完全なスタックトレースを提供できますか? – seza443

+0

nvm、それは今動作しますが、何も変更しませんでしたが突然動作します;) –

答えて

1

割り当ての左辺は変数は、一般的に、このような原因で発生しなければならない。

methodCallで()= somvalue ...

左手sideはメソッド呼び出しではなく変数でなければなりません。この点でコードは正常に見えます。
モデルクラスを宣言するコードと完全なスタックトレースが役立ちます。

1

のArrayListの内部オブジェクトの値を変更する設定方法を使用します。

myValues.set(j,myValues.get().setstoringCost(storingCost)); 
myValues.set(j,myValues.get().setupgradingCost(ruestCost));