簡體   English   中英

為什么進行循環打印會出現意外結果?

[英]Why is for loop printing unexpected results?

我正在掃描100x100像素的黑白照片,試圖基於黑白坐標來打印每個x和y坐標(逐像素)。 隨着print語句的運行,我可以在控制台中看到預期的結果,但是一旦完成,它將開始為每個結果值生成一個值為0的值,並且僅打印x x以北的值。您能解釋一下如何解決此問題嗎?

public class BW
{

public static void main(String[] args) {

try {    

BufferedImage original = ImageIO.read(new File("maze.jpg"));
int red;

int[][] outcome = new int[original.getHeight()][original.getWidth()];
for(int i=0; i<original.getHeight(); i++)
{
for(int j=0; j<original.getWidth(); j++)
  {
red = new Color(original.getRGB(i, j)).getRed();

int pixel = 0;
if(red > 1)
{
outcome[i][j] = 255;
System.out.println("x: " + i + " y: " + j + " value: " + outcome[i][j]);
} else {
   outcome[i][j] = 0;
   System.out.println("x: " + i + " y: " + j + " value: " + outcome[i][j]);
} 
}
}

   } catch (IOException e) {e.printStackTrace();}
} 
}

終端輸出低於此值(它一直持續到x為99且y為99為止,y遞增1,並且x在中途從98切換到99,

產量

這是我在其仍在運行時拍攝的屏幕截圖,您可以在其中看到其計算正確。 完成后,它變成上面的圖像。

在跑步的時候

更改

for(int i=0; i<original.getWidth(); i++)
{
for(int j=0; j<original.getHeight(); j++)
{

for(int i=0; i<original.getHeight(); i++)
{
   for(int j=0; j<original.getWidth(); j++)
   {

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM