問題タブ [stddraw]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
161 参照

java - 複数回のクリック後に移動する四角形をフリーズする

私のプロジェクトでは、移動する四角形に 1 ~ 3 のランダムな値を割り当てることになっています。クリックするたびに、フリーズするために必要なクリック数が減るはずです。カウントが 0 になるとフリーズします。凍結した四角形が別の長方形に触れた場合、凍結に必要なクリック数の新しい乱数で再び移動を開始する必要があります。複数のクリックでフリーズする方法に行き詰まっています。

}

0 投票する
1 に答える
1401 参照

java - 標準描画 Java ウィンドウ

StdDraw に問題があり、ポイントが表示されるようにウィンドウのサイズを変更しています。draw() メソッドを持つ Point クラスがあります

それから私が持っているテスタークラスで

これを実行すると、2 つのウィンドウがポップアップ表示されますが、どちらにも何もありません。1 つはポイント クラスのウィンドウで、サイズ変更されていない座標平面上の (3,4) に点をプロットし、もう 1 つはテスター クラスのサイズ変更されたウィンドウで、ポイントがないものとします。ここで何か不足していますか?Point クラスを変更せずに、これを 1 つのウィンドウで実行するにはどうすればよいですか?

0 投票する
1 に答える
201 参照

java - ArrayList を使用して単純なバージョンの MS Paint を作成する

StdDraw を使用して Java で MS Paint の単純なバージョンを作成する必要があります。要件と私のコードは次のとおりです。

このクラスでは、簡単な MS Paint タイプのプログラムを作成して、描画し、それらの描画を保存/ロードできるようにします。2 つのクラスを実装します。3 番目のクラス Point2D.javaPreview the document が用意されています。

Drawing このクラスには、Point2D オブジェクトの ArrayList が含まれている必要があります。このクラスは、図面を保存/ロードできるように Serializable も実装する必要があります。ポイントを空の ArrayList に設定するコンストラクターを含める必要があります。

また、すべてのポイントを描画するメソッド draw() を含める必要があります。

メソッド MaybeAddPoint(Point2D p) を含める必要があります。これは、ArrayList の最後のポイントと同じでない限り、ポイントを追加する必要があります。ユーザーがマウスを動かさずにしばらくマウスを押したままにしたときに、同じポイントのコピーが大量に発生することは望ましくありません。

最後に、ポイントのリストをクリアして StdDraw.clear() を呼び出すメソッド clear() を含める必要があります。

Driver main() では、Drawing オブジェクトを作成またはロードして描画し、ユーザーが編集できるようにします。

プログラムは、ObjectInputStream クラスを使用して、ファイル「savedDrawing.dat」から Drawing オブジェクトをロードしようとする必要があります。なんらかの理由で失敗した場合は、ファイルを開くことができなかったことを出力し、新しい空白の Drawing オブジェクトを作成する必要があります。(ヒント、空の図面を作成するコードは catch ブロックに入れることができます)。

描画オブジェクトを作成したら、アニメーション ループを作成します。ループでは、マウスが押されているかどうかを確認する必要があります (StdDraw.mousePressed() または StdDraw.isMousePressed())。そうである場合は、図面に新しいポイントを追加します (おそらく、多分 AddPoint() メソッドに決めさせてください)。また、2 つのキーボード入力を受け入れる必要があります。ユーザーが「C」キーを押した場合 (ヒント、StdDraw.isKeyPressed() で確認してください。KeyEvent クラスでキーコードの静的定数を使用する必要がある場合があります)、描画をクリアします。ユーザーが「Q」を押すと、ループから抜け出します。

アニメーション ループを終了したら、ObjectOutputStream クラスを使用して Drawing オブジェクトを「savedDrawing.dat」ファイルに保存し、保存されたことを出力します。何らかの理由で失敗した場合は、問題を示すメッセージを出力してください。ファイルが保存されたら (または何らかの理由で保存できなかった場合)、System.exit() を呼び出してプログラムを終了します。

私の描画クラス:

私のドライバー:

Point2D クラス:

MaybeAddPoint メソッドで indexOutOfBoundsException を取得しています。ArrayList のサイズが 0 と表示されています。このメソッドで実装されている Point2D クラスの equals メソッドは間違っていますか?

0 投票する
1 に答える
370 参照

java - JAVA: GBK をエンコードするためのマップ不可文字 (0x92)

これを Eclipse で実行することはできますが、sublime3 を使用して実行することはできません。

}

注: 「.\StdDraw.java は非推奨の API を使用またはオーバーライドします。」および「詳細については -Xlint:deprecation で再コンパイルしてください。」、それでも同じエラーが発生します。