这是我遇到问题的代码。我需要能够阻止数组超过值255.我坚持认为应该如何构造这个if语句..帮助会很棒......
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 :(得分: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,则首先检查原始值,然后将设置添加到结果中,但如果变亮结果大于255,则将其设置为255作为最大值
如果您有任何问题可以在评论中随意提出,我希望您理解我的答案:)
答案 1 :(得分: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;
}
}
}