0

根据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 参数变量中。

4

0 回答 0