按VIBGYOR顺序排列给定的一组颜色

时间:2010-06-09 11:57:23

标签: java sorting

如何按照VIBGYOR顺序从彩虹中订购一组给定的颜色。说我按以下顺序输入七种颜色{红色,蓝色,绿色,黄色,靛蓝色,紫罗兰色,橙色},我应该将输出打印为{紫色,靛蓝色,蓝色,绿色,黄色,橙色,红色},无论我给出输出的顺序应如上所述。有人可以建议我在java程序中实现这个吗? 谢谢,
-Vijay

2 个答案:

答案 0 :(得分:0)

  1. 创建一个代表颜色的类

  2. 实施Comparable界面(可能使用getHSBColor)。

    基本上这意味着,“确保可以将一种颜色与任何其他颜色进行比较”。

  3. 将颜色放在List中并使用Collections.sort(或数组并使用Arrays.sort)。

答案 1 :(得分:0)

我假设你有时会得到少于7个输入或一些值的倍数。如果你总是得到完全相同的输入,只是在不同的顺序,问题是微不足道的。 : - )

您可能想要考虑使用与每种颜色相对应的枚举,并将输入转换为这些枚举的数组。枚举的值应反映输出顺序。使用此选项对数组进行排序,然后输出枚举名称。