【发布时间】:2015-05-24 14:44:25
【问题描述】:
当我将它传递给构造函数时:{12,1,3,22,0,4}
public class Test
{
private ArrayList<int[]> arraylistone;
public Test(int[] ab) //todo
{
int[] xy = new int[2];
arraylistone = new ArrayList<int[]>(ab.length);
for(int i=0; i < ab.length; i++){
int sv = String.valueOf(ab[i]).length();
if (sv == 1){
xy[0] = 0;
xy[1] = ab[i];
arraylistone.add(xy);
}
else if(sv == 2){
//TODO
}
else{
System.out.println("errormessage");
//throw argument "too many digits..."
}
System.out.println(arraylistone); // want to check that the array list ab has been added converterted into two single digit numbers (xy) and stored in arraylistone
}
}
}
- 如何检查它是否已正确添加到
arraylistone?我想打印出它的值以确保我在正确的轨道上,我是否应该使用toString()以某种方式将数组对象转换为String?现在它会打印出类似这样的内容 `"[I@72d67791][I@72d67791][I@72d67791]"
"`
- 如果
(sv == 2)我将如何获得String中每个int的int值?例如给定int12,如果我要将其分成单独的xy = int[],其中xy[0] =1和xy[1]=2
【问题讨论】:
-
请发布可编译并正确缩进的代码。阅读docs.oracle.com/javase/8/docs/api/java/util/…
-
为什么将整数数组传递给构造函数并重新分配其内存?
-
我建议您重新开始,写下您想在 cmets 中执行的操作,然后尽可能少写几行代码。你现在有很多错误和无意义的代码。
-
好的,抱歉,我已经确保这段代码编译并修复了明显令人困惑的错误代码......只是为了确保我清楚 arraylistone[0] 应该持有并且 int[] xy 其中 xy[0] = 1 和 xy[1] = 2。我意识到我还没有完成 2 位部分,但我只是想在继续之前检查 arraylistone 的各个元素
标签: java arraylist arrayobject