ランダムな量の燃料とランダムな量の飛行機を生成する航空管制システムを作成しています。私はこれらの 2 つの要素を完了しましたが、問題は、出力ボックスにすべてが表示され、完全に機能することです。私の問題は、文字列を飛行機なしと呼ぶ飛行機が来ない場合、飛行機がある場合はKLMと言っているということです。すべてのフロントエンドでメインクラスに書き込むことができません。
Netbeans のドラッグ アンド ドロップ フロント エンドを使用しているため、画面内のコーディングの一部を編集しました。
enter public void StartSimulation()
{
Start pointer = new Start();
Plane incoming = new Plane();
//Needs a condition in here that checks if the plane and fuel has been
//Generated and also loop to keep up with the constant generated planes and fuel
jTextArea1.setText(incoming.planeName);
条件が次の場所で試しました:
if (incoming.nextPlaneLanding != 167)
これにより、最初のものが出力ボックスに何度も生成されます。また、平面クラスにブール値を設定しようとしましたが、次の条件があっても効果がありませんでした。if (incoming.completed = true)
これは私が飛行機のクラスに持っているものです:
class Plane
extends TimerTask
{
public int nextPlaneLoop = 0;
public int planes;
public int fuel;
public String planeName;
@Override
public void run()
{
if(nextPlaneLoop <=167)
{
//Currently only running 1 or 0 planes...
planes = (int) (Math.random()*((2-1)+1));
System.out.println("Random generated plane amount: "+planes);
System.out.println("Method called, one whole day loop");
//Adds to the plane in the airspace loop
nextPlaneLoop++;
System.out.println("Loop incrementing: "+nextPlaneLoop);
if(planes == 0)
{
System.out.println("No fuel is required as no planes are coming in");
planeName = "No incoming plane";
System.out.println("Planes name is: "+planeName);
System.out.println(" ");
}
else
{
//Amount of fuel
fuel = 30 + (int)(Math.random()*((120-30)+1));
System.out.println("Random fuel: "+fuel);
planeName = "KLM AirFrance";
System.out.println("Planes name is: "+planeName);
System.out.println(" ");
}
}
else
{
this.cancel();
System.out.println("Not in loop any more. End of day");
}
}
}
名前を画面に表示する方法を提案して、実際の空港クラスのキューに追加してみてください。