我想要一个名为collectNums
的方法,该方法应该从2D对象数组中收集类型Number
的所有元素。然后我想在Number
中收集List
类型的所有元素并将其返回。
这是我的代码:
public static List<Number> collectNums(Object nrAry[][])
{
List<Number> numbers = new ArrayList<Number>();
for(int i = 0; i < nrAry.length; i++)
{
for(int j = 0; j < nrAry[i].length; j++)
{
if (nrAry[i][j] instanceof Number)
{
numbers.add(j);
numbers.add(i);
}
}
}
return numbers;
}
如果我没有说清楚,请告诉我。谢谢大家!
答案 0 :(得分:3)
您正在收集数组的索引,而不是存储在数组中的值。
public static List<Number> collectNums(Object nrAry[][])
{
List<Number> numbers = new ArrayList<Number>();
for(int i=0;i < nrAry.length; i++) {
for(int j=0;j < nrAry[i].length; j++) {
if (nrAry[i][j] instanceof Number) {
numbers.add((Number)nrAry[i][j]);
}
}
}
return numbers;
}
答案 1 :(得分:0)
在Java 8中,它可以更简单:
public static String toRomanNumeral(int i) {
return ",M,MM,MMM".split(",")[i/1000]
+ ",C,CC,CCC,CD,D,DC,DCC,DCCC,CM".split(",")[i%1000/100]
+ ",X,XX,XXX,XL,L,LX,LXX,LXXX,XC".split(",")[i%100/10]
+ ",I,II,III,IV,V,VI,VII,VIII,IX".split(",")[i%10];
}