這是方法,這是我建這就是一個簡單的方法:我建立這似乎不工作
public static int opposite(int num){
if(num >= 0 && num <= 255)
num = Math.abs(num - 255);
return num;}
現在,我試圖把它用在這是應該 做出消極的下一個方法2維數組的圖片。這就是 意味着如果Matrix[0][0] = int 0
它將它切換到 或1> 254,2> 253等等...
public Matrix makeNegative(){
int num;
Matrix[][] negative = new Matrix[Matrix.length][Matrix[0].length];
for(int i = 0; i < negative.length; i++){
for(int j = 0; j < negative[0].length;j++){
negative[i][j] = negative.opposite(num);}}
return negative;}
所以,第一個問題是,爲何我不能用我的方法嗎? 的Java bluejay建議:
canot找到符號 - 方法相反(INT)
第二個問題是,我出於某種原因想,也許如果我的代碼不會以這種方式工作,也許我應該嘗試做一個方法。 所以我也試圖做一個方法,將我帶到矩陣內的特定框內的int
。 所以我想如果有人能告訴我如何做到這一點。
非常感謝任何能夠幫助我的人,對我的英語和編程能力感到非常抱歉。
編輯被要求在這裏把整個類代碼:
Matrix[][] negative = new Matrix[Matrix.length][Matrix[0].length];
,然後你:
public class Matrix{
private int[][] Matrix;
/**
* builder that copys an array of 2 dimensions
* @param gets and int[][] array
*/
public Matrix(int[][] array){
Matrix = new int [array.length][array[0].length];
for(int i = 0; i < array.length; i++){
for(int j = 0; j < array[0].length; j++){
Matrix[i][j] = array [i][j];
}
}
}
/**
* builder that builds an array of 2 dimensions with the sizes given
* @param size1 = rows size2 = column
*/
public Matrix(int size1, int size2){
Matrix = new int [size1][size2];
}
public String toString(){
String result ="";
for(int i = 0; i < Matrix.length; i++){
for(int j = 0; j < Matrix[0].length;j++){
result += Matrix[i][j];
if(j != Matrix[0].length - 1){
result += "\t";
}
}
result += "\n";
}
return result;
}
public static int opposite(int num){
if(num >= 0 && num <= 255)
num = Math.abs(num - 255);
return num;}
/*
public int getColor(Matrix array){
int color;
color = }
*/
public Matrix makeNegative(){
int num;
Matrix[][] negative = new Matrix[Matrix.length][Matrix[0].length];
for(int i = 0; i < negative.length; i++){
for(int j = 0; j < negative[0].length;j++){
negative[i][j] = negative.opposite(num);}}
return negative;}
矩陣類中的方法'opposite()'是什麼? –
是的是的:PP –
是'對面()'''公共''矩陣'的成員?你清楚的錯誤表明'opposite()'要麼不存在,要麼是有作用域的,不能被訪問。 – px06