如何按照VIBGYOR顺序从彩虹中订购一组给定的颜色。说我按以下顺序输入七种颜色{红色,蓝色,绿色,黄色,靛蓝色,紫罗兰色,橙色},我应该将输出打印为{紫色,靛蓝色,蓝色,绿色,黄色,橙色,红色},无论我给出输出的顺序应如上所述。有人可以建议我在java程序中实现这个吗?
谢谢,
-Vijay
答案 0 :(得分:0)
创建一个代表颜色的类
实施Comparable
界面(可能使用getHSBColor
)。
基本上这意味着,“确保可以将一种颜色与任何其他颜色进行比较”。
将颜色放在List
中并使用Collections.sort
(或数组并使用Arrays.sort
)。
答案 1 :(得分:0)
我假设你有时会得到少于7个输入或一些值的倍数。如果你总是得到完全相同的输入,只是在不同的顺序,问题是微不足道的。 : - )
您可能想要考虑使用与每种颜色相对应的枚举,并将输入转换为这些枚举的数组。枚举的值应反映输出顺序。使用此选项对数组进行排序,然后输出枚举名称。