同じループを使用して複数のメソッドを実行したいのですが、問題が発生しています。1つのループ内に複数のメソッドがありますJava
のは、私は次のような方法があるとしましょう:
void xy1() {
int y1 = 0;
for (int x = 0; x < 10; x++){
y1 += x;
}
}
罰金作品
を、私がしなければならないすべては、コンストラクタでそれを呼び出しています。
void xy2() {
int y2 = 1;
for (int x = 0; x < 10; x++){
y2 += x;
}
}
も正常に動作します:
さて、私はまた、別の方法を使用したいが、Yの異なる初期値としましょう。
しかし、私は両方のメソッドを同じループで同時に実行させることをお勧めします。明白な解決策は、一つの方法にそれらをマージすることになります。より多くの変数が導入されたときにこれは、しかし厄介速いを取得
void xy(){
int y1 = 0;
int y2 = 1;
for (int x = 0; x < 10; x++){
y1 += x;
y2 += x;
}
}
。それでは、私は、コンストラクタでループを入れていたやってみました、それは法に毎サイクル呼び出しがあります。このように見ている方法では
Constructor(){
int y1 = 0;
int y2 = 1;
for (int x = 0; x < 10; x++){
xy1(y1, x);
xy2(y2, x);
}
}
:
void xy1(int y1, int x) {
y1 += x;
}
void xy2(int y2, int x) {
y2 += x;
}
これで問題がであるがもちろん、コンストラクタがメソッドを呼び出すたびに、現在持っている値ではなく、y1とy2の初期値を渡します。メソッド内の初期値を定義すると、サイクルごとに同じ方法でリセットされます。
私が必要とするのは、新しい計算のためにyの最後の値を何らかの方法で記憶しておくことです。私は欠けている明らかな解決策があるように感じる... 私はgoogleを使ってみましたが、私は本当にどのような検索用語を使用するか分かりません。
私たちはそれに取り組んでいるが、メソッドによって実行される計算は同じなので、単純に1つのメソッドxyを定義し、コンストラクターに異なる初期y値同じループ)。この問題は、yのインスタンスが別々になければならないため、メソッドの2つのインスタンスによって1つのyが操作されないようにする必要があります(これは意味がありますか?これは私が問題になるので、私はいつも新しい質問を作成することができます。)
ありがとうございました!
この作業に欠けているものは、 'y1 = xy1(y1、x); y2 = xy2(y2、x); 'を変数に更新された値を記録するように' Constructor'に入れます。 –
おそらく 'return y1 + x;'?あなたは実際に何を解決しようとしていますか?それらのメソッドは有用な何もしないようです。なぜあなたは、それらを元の方法の両方を次々に呼び出すのではなく、同じループ内で動作させたいのですか? –
あなたの質問には、少なくともコンストラクタがメソッドを呼び出すたびに、 "メソッド内の初期値を定義すると、サイクルごとに同じ方法でリセットされます"、 "何とか新しい計算のためのyの最後の値を覚えておく方法」などがあります。これは学習目的に過ぎないのですか、実際に達成しようとしていることを記述することができますか([xy-problem](https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem ))。 – Thomas