根据https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/awt/Color.html#getRed()、getRed()、getBlue() 和 getGreen( ) 返回整数。
但是,当我在 IntelliJ IDE 中将其编程到我的 Java 11 中时,我得到的是浮点数,而不是整数。
为什么是这样?
我的代码如下:
private static boolean isInStandardColors(String[] arr1, HashSet<Color> hSet1) {
int r;
int g;
int b;
int[] arr2 = new int[3];
int i = 0;
for(String t : arr1) {
arr2[i] = Integer.valueOf(t);
//System.out.println(arr2[i]);
i++;
}
r = arr2[0];
g = arr2[1];
b = arr2[2];
System.out.println(r);
System.out.println(g);
System.out.println(b);
Iterator<Color> c1 = hSet1.iterator();
Color color1;
while(c1.hasNext()) {
color1 = c1.next();
System.out.println(color1.getRed());
System.out.println(color1.getGreen());
System.out.println(color1.getBlue());
if( r == color1.getRed() && b == color1.getBlue() && g == color1.getGreen() ) {
return true;
}
else {
// do nothing
}
}
return false;
}
输入的HashSet如下:
是的,输入是:
HashSet<Color> hSet = new HashSet<>();
hSet.add(Color.PINK);
hSet.add(Color.BLUE);
hSet.add(Color.ORANGE);
hSet.add(Color.MAGENTA);
hSet.add(Color.WHITE);
hSet.add(Color.BLACK);
hSet.add(Color.LIGHTGRAY);
hSet.add(Color.GRAY);
hSet.add(Color.DARKGRAY);
hSet.add(Color.RED);
hSet.add(Color.YELLOW);
hSet.add(Color.CYAN);
hSet 被输入到 hSet1 参数变量中。