参数:一个至少1x1像素的Picture对象和一个Color对象。
返回值:Boolean。如果Color参数与图像中的像素之一匹配,则返回true,否则返回false。通过使用.equals方法去做
示例:对于像素的图片,其颜色为(100,200,50)。如果要搜索的颜色为(100,100,100),此方法将返回false。
我在问答里无法评论,我是否可以加一下解答者的私信去咨询一些关于这道题代码的问题。谢谢
public class Q1098489 {
public static void main(String []args) {
Picture p = new Picture(); //构造图片对象
Color c = new Color(100, 200, 50); //构造一个像素
p.arr = new Color[1]; //初始化像素数组
p.arr[0] = c; //像素放入
System.out.println(p.equals(c)); //因为存在,所以返回 true
System.out.println(p.equals(new Color(100, 100, 100))); //因为不存在,返回false
}
}
class Color //定义颜色类
{
public int r;
public int g;
public int b;
public Color(int a, int c, int d) { r = a; g = c; b = d; } //构造函数
public Boolean equals(Color c) { return c.r == r && c.g == g && c.b == b; } //相等判断
}
class Picture //图片类,由像素数组构成
{
public Color[] arr; //像素
public Boolean equals(Color c) //相等判断
{
if (c == null) return false; //数组没有初始化,返回false
for (int i = 0; i < arr.length; i++)
{
if (arr[i].equals(c)) return true; //有一个相等,返回true
}
return false; //全部不等,返回false
}
}