4

私は大学のクラス用のJavaアプリケーションに取り組んでおり、プログラムのある時点で、ユーザーに整数の入力を求めています。ユーザーに整数を入力させるだけで、問題が発生した場合は、「abcdefg」を入力するように、ループを使用してtry/catchステートメントを作成できます。しかし、しばらく前に、この問題を単独で処理するカスタムクラスを作成しましたInputValidator。スキャナーが組み込まれており、基本的にすべてを処理し(実際にint、doubleなどであることを確認します)、メインクラスでは、getterメソッドの1つに等しい値を設定するだけで確認できます。これは実際には有効な入力です。

私が疑問に思っているのは、それが私の教授によって「怠惰な」と見なされると思いますか、直感的ですか、それとも単に不要だと思いますか?このクラスは多くのことに役立つ可能性がありますが、「メモリの浪費」と見なすこともできます(doubleもチェックし、プログラムではintをチェックするだけです)。私はそれを使いたいのですが、教室でのプログラミングに関しては、これが合法的なことであることを確認したいと思います。前もって感謝します。

4

3 に答える 3

1

どちらの方法も、C++およびJava開発者としての私の目には有効です。もし私がJavaでコードを書いたとしたら、trycatchメソッドは合理的で単純に思えます。

C ++では、明示的なキャストが原因でこれは問題になります。

これが純粋なJavaクラスである場合、trycatchで十分でクリーンだと思います。

于 2012-12-13T06:38:30.710 に答える
1

入力の検証にも独自のクラスを使用しました。私はそれを問題とは考えていません。それはあなたが他の場所で書く必要のあるコードを減らし、あなたはクラスにあなたのために仕事をさせることができます。あなたの教授は、あなたが入力の検証を理解していることをはっきりと見ることができるので、気にしないでください。

ここで私が使用しているクラスを見ることができます。

于 2012-12-13T07:40:13.727 に答える
1

カスタムクラスはいつでも受講できます。しかし、検討する必要があるのは、利用可能なベスト プラクティスの実装が既にあるのに、なぜ独自のコードを作成したいのかということです。

Java は、コードの再利用に重点を置いています。したがって、Java の世界では、何らかの API によって提供されるデフォルトのメソッドがある場合、常にそれを使用することをお勧めします。これは、その API がベスト プラクティスの実装を提供するためです。これは、独自のコードを記述しているときには達成できない可能性があり、それらのクラスは次のようになります。十分にテストされています。そのため、失敗する可能性が低くなります。

Java APIでデフォルトのメソッドを使用することで「怠け者」と見なされることは絶対にありません

于 2012-12-13T06:37:25.233 に答える