[英]Java - Arrays and Method Parameters
如何將文件名數組傳遞給以下方法:
public static double getFitness(int x, int y, int r, BufferedImage image);
我目前有一個方法,它從給定的目錄創建一個文件名數組:
//Default image directory (to convert to greyscale).
static File dir = new File("images");
//Array of original image filenames.
static File imgList[] = dir.listFiles();
public static void processGreyscale(){
if(dir.isDirectory()){
for(File img : imgList){
if(img.isFile()){
//functions are carried out here.
}
else{
//functions are carried out here.
}
}
}
}
getFitness
方法對圖像的適應度進行評分( ...BufferedImage image);
)基於主要感興趣區域(ROI)。
我正在尋找的是一種在文件名數組上運行getFitness
方法的方法; 這樣的事情:
public static double getFitness(int x, int y, int r, fileArray)
可以這樣做嗎?
謝謝大家的好建議; 但是,我應該提一下,如果改變傳遞的參數,我希望保持方法參數相同/不變,因為適應度函數受到影響(負面)。
有什么辦法可以在imgList[]
所有文件/文件名上運行適應度函數嗎?
我希望的是這個:
public static double getFitness(int x, int y, int r, BufferedImage image){
use filenames stored in imgList[] to take place of 'image'
getFitness of `image`
next image name
}
這可能嗎?
對的,這是可能的。
這是方法簽名:
public static double getFitness(int x, int y, int r, File[] fileArray)
這是調用代碼:
getFitness(1, 1, 1, imgList);
剛傳遞數組?
public static double getFitness(int x, int y, int r, File[] files);
您可以將參數類型指定為File [] fileArray
你可以做File fileArray[] = new File[numberOfFiles];
然后指定一個計數器來存儲在數組中,例如counter = 0
並在每次將fileName添加到數組fileArray[counter] = img.getName(); counter++;
遞增counter
的值fileArray[counter] = img.getName(); counter++;
fileArray[counter] = img.getName(); counter++;
然后在你想要的方法中發送數組public static double getFitness(x, y, r, fileArray);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.