0

私はまったくの初心者なので、単純なことを説明するときは、私が頭が悪いからではなく、間違っているか正しいかを知りたいだけです。

最初は 2 つの変数がx1あり、y1. while ()こんな感じで入れました

while ( y1<0 || y1>500 || x1<0 || x1>500)

私はこれを「これらの「こと」の1つが真の場合、while関数を実行すると読みます.

たとえばy1=601y1>500が true の場合、他の 3 つは false ですが、1 つだけが true である必要があるため、関数に入ります。

ここで問題が発生します。 という 3 番目の変数を追加しますz。次のように追加します。

while(y1<0 || y1>500 || x1<0 || x1>500 && z>51)

私がこれをしたいのはz>51、少なくとも 1 つの他の関数と一緒に true の場合にのみ while 関数を実行することです。または、それが不可能な場合z>51は、true の場合にのみ実行します。z>51私のコードは間違っています。なぜなら、それが falseであっても、今は永遠に続くからです。

4

3 に答える 3

0

または、最初に z の値を確認して、ループを変更しないようにすることもできます。

if (z > 51) {
  while ( [...])
  [...]
}

これは Maxime のソリューションとは少し異なります。これzは、ループに入ると の値は問題にならないと想定しているためです。一方、更新zしてループを終了する条件として使用する場合は、while条件に保持します。

于 2013-10-04T14:35:44.870 に答える