2013-03-24 2 views
0

Это код, с которым я столкнулся. Мне нужно, чтобы быть в состоянии остановить массив от перехода значения 255. Im застрял на том, как это, если заявление должно быть построено .. Помощь будет удивительно ..Оператор if, содержащий значения массива 2d java

public short[][] Brighten(short[][] original){ 

    short[][] result1 = new short[original.length][original[0].length]; 

    for(int i =0;i< result1.length; ++i){ 
     for(int j = 0;j<result1[0].length;++j){ 
      result1[i][j] = (short) (20 + original[i][j]); 
      //work on this if statement 
      if (original[i][j]> 255){ 
       result1[i][j] = (short)(20 - original[i][j]); 
      } 

     } 
    } 



    return result1; 
} 
+0

Что вы имеете в виду: «остановить массив от перебора значения 255»? Вы можете это уточнить? Во всяком случае, почему бы не пометить ваш вопрос более ярким тегом (например: java/C#). –

+0

массив 2d основан на наборе чисел, который скомпилируется с изображением, которое колеблется от 0 -255, и для присваивания мы не можем позволить значение переходить через 255. – user2203679

+0

Что вы подразумеваете под «остановкой массива»? что, если вы получите число больше 255; Ты знаешь что делать? – vijay

ответ

0
for (int i = 0; i < result1.length; i++) { 

    for (int j = 0; j < result1[0].length; j++) { 

     if (original[i][j] + 20 < 255) { 
      result1[i][j] = original[i][j] + 20; 
     } else { 
      result1[i][j] = 255; 
     } 
    } 
} 
+0

Думаете, вы имеете в виду 235> –

+0

Будет лучше, если вы дадите некоторое объяснение, а не поместите только код –

+0

Простейшим объяснением, которое я знаю, является код – SpacedMonkey

1

Я думаю, что она должна быть как это

public short[][] Brighten(short[][] original){ 

    short[][] result1 = new short[original.length][original[0].length]; 

    for(int row =0;row< result1.length; row++){ 
     for(int col = 0;col<result1[row].length;col++){ 
     if (original[col][row] + 20) < 255) { 
      result1[col][row] = original[col][row] +20; 
     } else { 
      result1[col][row] = 255; 
     }   

     } 
    } 
    return result1; 
} 

с этим кодом исходное значение будет проверяться первым, если значение после того, как вам скрасить (+20) меньше, чем 255 он будет добавить набор к результату, но если результат Brighten более чем 255 его Установлено значение 255 как максимальное значение

Надеюсь, вы понимаете мой ответ, если у вас есть какой-либо вопрос, не стесняйтесь спрашивать в комментарии :)

Смежные вопросы