gpt4 book ai didi

java - 如何访问确定颜色类颜色的三个整数?

转载 作者:行者123 更新时间:2023-12-02 01:06:25 24 4
gpt4 key购买 nike

我需要创建一个不带参数的方法来使颜色变暗,它位于此代码的底部。它将整数值调暗 20%。我不知道如何访问这些颜色类中生成的整数。我将占位符“a”、“b”和“c”代替了应该访问确定颜色颜色的三个数字。

public class Color {
final static Color RED = new Color(255, 0 , 0);
final static Color BLACK = new Color(0, 0 , 0);
final static Color GREEN = new Color(0, 255 , 0);
final static Color YELLOW = new Color(255, 255 , 0);
final static Color BLUE = new Color(0, 0 , 255);
final static Color MAGENTA = new Color(202, 31 , 123);
final static Color CYAN = new Color(0, 183 , 235);
final static Color WHITE = new Color(255, 255 , 255);

private int red;
private int green;
private int blue;

public Color(int a, int b, int c) {
if (a < 0) {
a = 0;
}
if (b < 0) {
b = 0;
}
if (c < 0) {
c = 0;
}
if (a > 255) {
a = 255;
}
if (b > 255) {
b = 255;
}
if (c > 255) {
c = 255;
}
Color custom = new Color(a, b, c);
}


public Color dim() {
int newA = a * 0.80;
int newB = b * 0.80;
int newC = c * 0.80;
Color newColor = (newA, newB, newC);
return newColor;
}

它可能必须是 this.Color(0) 或其他东西

另外,我如何修复这个检查两种颜色是否相同的 boolean 方法,必须替换“a”。

public boolean equals(Color) {
if (Color a = Color b){
return true;
}
else {
return false
}
}

最佳答案

您永远不会将参数分配给对象属性,例如...

public Color(int a, int b, int c) {
red = Math.min(255, Math.max(0, a));
green = Math.min(255, Math.max(0, b));
blue = Math.min(255, Math.max(0, c));
}

dim 是否需要成为...

public Color dim() {
int newA = (int)(red * 0.80);
int newB = (int)(green * 0.80);
int newC = (int)(blue * 0.80);
Color newColor = new Color(newA, newB, newC);
return newColor;
}

因为要修改对象的属性

Also how do I fix this boolean method that checks if two colors are the same, 'a' has to be replaced.

对我来说,这看起来像是一个学习练习,您应该花一些时间来弄清楚,但本质上,您需要确定“其他”类是否是“颜色”的“实例”,并且如果是,如果属性(redgreenblue)相等

关于java - 如何访问确定颜色类颜色的三个整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59997839/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com