如何解决Java中double到int的类型不匹配错误

如何解决Java中double到int的类型不匹配错误,java,colors,Java,Colors,在我的课堂上,我们正在做一些颜色转换。我已经能够计算出简单的颜色转换,如红色、蓝色、绿色、紫色和黄色,但我无法计算出如何制作橙色或棕色。我试着乘以一个十进制数,比如g*0.6,但结果是类型不匹配(double而不是int) public void to yellow(){ //转换成黄色 对于(int y=0;y24)&0xff; int r=(p>>16)和0xff; int g=(p>>8)和0xff; intb=p&0xff; //将蓝色设置为零 p=(a使用(int)(g*0.6)将双精

在我的课堂上,我们正在做一些颜色转换。我已经能够计算出简单的颜色转换,如红色、蓝色、绿色、紫色和黄色,但我无法计算出如何制作橙色或棕色。我试着乘以一个十进制数,比如g*0.6,但结果是类型不匹配(double而不是int)

public void to yellow(){
//转换成黄色
对于(int y=0;y>24)&0xff;
int r=(p>>16)和0xff;
int g=(p>>8)和0xff;
intb=p&0xff;
//将蓝色设置为零

p=(a使用
(int)(g*0.6)
将双精度转换为int

使用
(int)(g*0.6)
将双精度转换为int非常感谢,这非常有效:D
public void toYellow() {
    //convert to yellow
    for(int y = 0; y < img.getHeight(); y++){
        for(int x = 0; x < img.getWidth(); x++){
            int p = img.getRGB(x,y);
            int a = (p>>24)&0xff;
            int r = (p>>16)&0xff;
            int g = (p>>8)&0xff;
            int b = p&0xff;
            //set blue to zero
            p = (a<<24) | (r<<16) | (g<<8) | 0;
            
            img.setRGB(x, y, p);
            setColor("Yellow");
        }
    }           
}