我试图在java中使用numel(Matlab中提供的功能)。 它们是否可以在java中使用此函数的任何实现?
答案 0 :(得分:2)
我不确定这是否是您希望numel
工作的方式,但在这里您的版本很少:
这个方法将迭代计算它们的数组的所有元素。
public static int numel(Object array) {
if (array == null)
return 1;// I will count nulls as elements since new String[10] is
// initialized with nulls
int total = 1;
if (array.getClass().isArray()) {
total = 0;
int length = java.lang.reflect.Array.getLength(array);
for (int index = 0; index < length; index++) {
total += numel(java.lang.reflect.Array.get(array, index));
}
}
return total;
}
此方法仅使用数组中不同级别的第一行的大小来获取它的大小,假设同一级别的行具有相同的大小
public static int regularNumel(Object array) {
if (array == null)
return 1;
int total = 1;
if (array.getClass().isArray()) {
int length = java.lang.reflect.Array.getLength(array);
if (length > 0) {
Object row = java.lang.reflect.Array.get(array, 0);
if (row == null || !row.getClass().isArray())
return length;
else //now we know that row is also array
return length * regularNumel(row);
} else
return 0;
}
return total;
}
答案 1 :(得分:-1)
matlab的数字函数
n = numel(A)返回数组A中的元素数n。
你可以使你的
int arraycount(int a[])
{
int counter;
for(int i=0;i<a.length;i++)
{
counter++;
}
return counter;
}
答案 2 :(得分:-1)
class main{
public static void main (String[] args){
// numel returns the number of array elements, as does .length in Java.
int[] testArr = {1,2,3,4,5,6,7,8};
System.out.println(testArr.length);
}
}
// Result: 8
答案 3 :(得分:-1)
我设法解决了这个问题。
我希望图像的大小,我做了一个小功能,解决了我的问题。
public static int length(BufferedImage bi)
{
int x;
x=bi.getHeight()*bi.getWidth();
return x;
}