java小鸟求助大神

AT152S 2020-02-04 10:45:31
题目:列出所有a数组中两个元素之和为b的下标
我写的如下,但是不对
public static void main(String[] args) {
Test02 t = new Test02();
int a[] = {1, 3, 5, 7, 6, 8, 7, 9, 1, 3, 2, 4};
int b = 8;
List list = new ArrayList();
list = t.ret(a, b);
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
public List<int[]> ret(int[] a, int b) {
List list = new ArrayList();
for (int i = 0; i < a.length; i++) {
for (int j = 1 + i; j < a.length; j++) {
if (a[i] + a[j] == b) {
list.add(a[i], a[j]);
}
}
}
return list;
};
...全文
37 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
qybao 2020-02-04
  • 打赏
  • 举报
回复
public static void main(String[] args) {
Test02 t = new Test02();
int a[] = {1, 3, 5, 7, 6, 8, 7, 9, 1, 3, 2, 4};
int b = 8;
List list = new ArrayList();
list = t.ret(a, b);
for (int i = 0; i < list.size(); i++) {
//System.out.println(list.get(i));
System.out.println(Arrays.toString((int[])list.get(i))); //因为list保存的是数组对象,所以调用数组对象的toString方法打印数组元素
}
}
public List<int[]> ret(int[] a, int b) {
List list = new ArrayList();
for (int i = 0; i < a.length; i++) {
for (int j = 1 + i; j < a.length; j++) {
if (a[i] + a[j] == b) {
//list.add(a[i], a[j]);
list.add(new int[]{i, j}); //这里要保存为数组,按题目要求输出下标,如果要输出元素怎改为new int[]{a[i], a[j]}
}
}
}
return list;
};

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧