【发布时间】:2017-02-26 02:37:00
【问题描述】:
我正在尝试从 Sedgewick 的 Java 编程简介一书中做这个练习 3.1.6。
import java.lang.Object;
import java.awt.Color;
import java.util.*;
import java.util.Collections;
public class treetseks{
public static void main(String[] args){
List<Color> list;
list = new ArrayList<Color>();
Picture pic= new Picture(args[0]);
int width = pic.width();
int height = pic.height();
Picture picr = new Picture(width, height);
Picture picg = new Picture(width, height);
Picture picb = new Picture(width, height);
for (int y = 0; y < height; y++){
for (int x = 0; x < width; x++){
Color redpixel = pic.getRed(x, y);
Color greenpixel = pic.getGreen(x, y);
Color bluepixel = pic.getBlue(x, y);
list.add(p);
picr.set(x, y, redpixel);
picg.set(x, y, greenpixel);
picb.set(x, y, bluepixel);
}
}
System.out.println(list);
pic.show();
picr.show();
picg.show();
picb.show();
}
}
当我尝试编译这段代码时,我收到编译错误消息“找不到符号”,指向 getRGB() 方法。这给了我一个想法,我需要导入一个类或其他东西。但我已经引入了 java.awt.Color,我认为应该足够了。
班级图片来自本站
http://introcs.cs.princeton.edu/java/stdlib/Picture.java.html
并且和这个类在同一个文件夹中。
如果我将 getRed() getGreen() getBlue() 方法更改为 get(),代码可以完美运行。我猜这是因为我使用类图片中的 get() 方法而不是类 Color?我对吗?我做错了什么?如何使用 getRed() getGreen() 和 getBlue() 方法?
【问题讨论】:
-
"
getRGB()" 你的代码在哪里? -
顺便说一句。这是练习:编写一个程序,将图像文件的名称作为命令行输入,并创建并显示三个图片对象。一种只包含红色成分,一种用于绿色,一种用于蓝色。
-
检查您链接到的 Java 文件...这些方法在哪里定义?
-
您链接的图片类不包含“getRed()”方法或任何其他颜色。我怀疑你的练习是提供这些方法。
-
对不起.. 我将 getRGB 更改为 getRed() getGreen() getBlue() 并忘记在问题中更改它。虽然同样的问题和完全相同的编译错误。只是关于 getRed() getGreen() getBlue()。
标签: java