我试图从.ppm文件中获取数据并在图像上添加过滤器。 出于某种原因,当我打印图像的高度和宽度时,它会正确返回值,但是当我将数据放入2D数组时,它返回的高度与宽度相同,即使它不是。这是相关代码的片段。它与我初始化Color 2D数组有什么关系吗?
Color[][] totalData = null;
int x = 0;
int y = 0;
while (fileScanner.hasNext()) {
// Handles comments
String line = fileScanner.nextLine();
if ((line.startsWith("#"))) {
continue;
}
width = fileScanner.nextInt();
height = fileScanner.nextInt();
System.out.println(width); //4
System.out.println(height); //3
//Skips the Max color value
fileScanner.next();
totalData = new Color[height][width];
System.out.println(totalData[0].length); //4
System.out.println(totalData[1].length); //4
答案 0 :(得分:5)
您正在打印数组第一行和第二行的长度,两者都是4,因为这是2D数组的宽度。
要查看高度和宽度(不相同),您应该打印:
System.out.println(totalData.length); // the number of rows (3)
System.out.println(totalData[0].length); // the length of each row (4)