我正在尝试从.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
最佳答案
您正在打印数组第一行和第二行的长度,并且两者均为4,因为这是2D数组的宽度。
要查看高度和宽度(不相同),您应该打印:
System.out.println(totalData.length); // the number of rows (3)
System.out.println(totalData[0].length); // the length of each row (4)
关于java - 2D数组未正确声明,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42050165/