【问题标题】:Using your own custom made classes to do a job for you [closed]使用您自己的定制课程为您完成工作[关闭]
【发布时间】:2012-12-01 00:14:08
【问题描述】:

我正在为我的大学课程开发一个 Java 应用程序,并且在程序中的某个时刻,我要求用户输入一个整数。我可以让用户输入一个整数,如果有问题,就像他们输入“abcdefg”一样,我可以有一个带有循环的 try/catch 语句。但不久前,我创建了一个自定义类,它自己解决了这个问题,称为InputValidator。它有一个内置的扫描仪,基本上可以处理所有事情(检查以确保它实际上是一个 int、double 等),在主类中,您可以简单地设置一个等于 getter 方法之一的值来确保它实际上是一个有效的输入。

我想知道的是,你认为我的教授会认为我“懒惰”,直觉,还是只是不必要的?这个类可能对很多事情有用,但也可以被认为是“浪费内存”(它还检查双精度,而我在程序中只检查一个 int)。我想使用它,但我想确保在课堂编程方面这是合法的做法。先感谢您。

【问题讨论】:

  • C/C++ 程序员会告诉你你在浪费内存并且你的设计效率低下。 Java 程序员会告诉你你是一个出色的面向对象程序员。我个人很喜欢。
  • 哈哈好吧有道理。所以这就是他们说的原因。向面向对象的上帝致敬。
  • 如果您的老师希望您在每项作业中重新发明轮子:他就是疯了!
  • 扔掉一些没用的marker-interface,你也可以成为Java Enterprise专家。
  • @DillonBurton 另一种选择是将已经存在的(假设已测试或已使用)拆分为每个类型的许多类,这也可以很好。但是除非你玩有很多验证者并且你的内存真的很低。我认为这不值得。

标签: java class input int


【解决方案1】:

我也使用自己的类来验证输入。我不认为这是一个问题,它减少了您需要在其他地方编写的代码,您可以让班级为您完成这项工作。你的教授不应该介意,因为他可以清楚地看到你理解验证输入。

Here你可以看到我使用的类。

【讨论】:

  • 不错!我看了看它,它似乎在某些情况下非常有用。看到程序员解决同一个问题的不同方式让我很着迷。
  • 谢谢。肯定有许多不同的方法可以解决同一个问题。每个人都有如此截然不同的风格。 :)
【解决方案2】:

您可以随时拥有自己的自定义课程。但需要考虑的是,既然已经有了最佳实践实现,为什么还要创建自己的代码。

Java 更注重代码重用。因此,在 java 世界中,如果某些 api 提供了默认方法,那么使用它总是一个好习惯,因为该 api 将提供最佳实践实现,我们在编写自己的代码时可能无法实现,而这些类将是很好的测试。所以失败的机会更少。

在java api中使用默认方法绝对不会被视为“懒惰”

【讨论】:

    【解决方案3】:

    作为 C++ 和 Java 开发人员,这两种方法在我看来都是有效的。 如果我用 Java 编写代码,try catch 方法似乎合理且简单。

    在 C++ 中,由于显式转换,这将是有问题的。

    如果这是一个纯 Java 类,我认为 try catch 就足够且干净了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-13
      • 1970-01-01
      • 1970-01-01
      • 2021-03-19
      • 2011-07-29
      • 2017-01-26
      • 1970-01-01
      • 2023-04-08
      相关资源
      最近更新 更多