我在12月份在大学接受了OOP 1(我们使用Java )的期末考试,但我没有通过考试。问题是我必须以某种特定的方式对事物进行排序,而我无法弄清楚如何正确实现这一点。我将翻译一部分练习(我将在谷歌翻译的帮助下完成):
" ...约翰喜欢自然数字,他喜欢除奇数之外的偶数数字。在每个子集中,他都是最小的。"
HERE is the original exercise (in spanish)
好的,所以,我必须在一个名为Natural的类中执行此操作,并且我必须能够以自定义方式对其进行排序(如上所述)。这是我无法做到的。我知道(考试后老师告诉我)我必须实施Comparable<T>
。
(我知道这部分)之后,我必须实例化一个LinkedList&lt; Natural &gt;,从文件中读取数字,对它们进行排序并将它们(已经排序)放入另一个文件中。
很抱歉,如果这令人困惑,我的英语真的很糟糕。
这就是我class Natural
中的内容:
public class Natural implements Comparable<Natural> {
public Integer numNatural;
public int compareTo(Natural otroNatural) {
Integer numNatural2 = ((Natural) otroNatural).numNatural;
if (this.numNatural > numNatural2) return 1;
else if (this.numNatural < numNatural2) return -1;
else return 0;
}
如何让我的程序理解我需要先输入偶数,而在偶数内,最小的数字?之后,最小的奇数也应该排序。
提前致谢。顺便问一下,为什么还要投票呢?
答案 0 :(得分:1)
您有几种情况,这将有助于单独考虑这些情况。
对于第二种和第三种情况,您可以返回1 / -1,因为您知道答案而没有进一步的逻辑。对于其他两种情况,您需要在答案中进行比较。