java如果把Array中的数组的值进行相加呢?

 我来答
中国青春心
推荐于2016-06-25 · TA获得超过4637个赞
知道小有建树答主
回答量:1966
采纳率:83%
帮助的人:570万
展开全部
你的意思是说比如数组里面有5个对象,现在要改为6个或者更多? 未来你学集合就知道了,不过我这里自己封装一个类,里面就是操作Object数组的,增删插入指定位置都有,代码如下:
public class MyList {
private int size;
Object[] object = null;
Object[] temp;
int sequence = 0;

public MyList() {
this(1);
}

public MyList(int size) {
if (size <= 0) {
throw new IllegalArgumentException("长度应大于0");
} else {
this.size = size;
this.object = new Object[this.size];
}
}

// Add, Insert, Delete, Find
public void add(Object obj) {
if (obj == null) {
throw new IllegalArgumentException("添加的对象不应为null");
} else {
if (sequence >= size) {
this.size++;// 这里扩展空间方式随意,可以每次扩展两倍
temp = new Object[this.size];
System.arraycopy(object, 0, temp, 0, object.length);
object = temp;
temp = null;
}
object[sequence] = obj;
sequence++;
}

}
public void insert(int index, Object obj) {
if (index < 0 || obj == null) {
throw new IllegalArgumentException("插入的索引值应不小于0,并且插入的对象不应为null");
} else {
if (index == object.length) {
add(obj);
} else if (index > object.length) {
throw new IllegalArgumentException("数据越界,插入的索引不应不在数组范围内");
}
if (sequence >= size) {
this.size++;
}
temp = new Object[this.size];
System.arraycopy(object, 0, temp, 0, index);
temp[index] = obj;
System.arraycopy(object, index, temp, index+1, object.length-index);
object = temp;
temp = null;
sequence++;
}

}
public void delete(int index) {
if (index < 0 || index>this.size) {
throw new IllegalArgumentException("索引应在数组范围内");
} else {
temp = new Object[--this.size];
System.arraycopy(object, 0, temp, 0, index);
System.arraycopy(object, index+1, temp, index, object.length-1-index);
object = temp;
temp = null;
sequence--;
}
}

public Object find(int index) {
if (index < 0 || index > this.size) {
throw new IllegalArgumentException("索引应大于0或不大于集合元素数");
} else {
return object[index];
}
}

public int size() {
return this.size;
}

}
更多追问追答
追问
list_tr={维纳  开发二部 张三 type[1,0,0,0,0,0,0,2,1,8,0]}
list_tr={维纳 开发二部 张三 type[1,0,0,0,0,0,0,2,1,8,0]}
合并成:
list_tr={维纳 开发二部 张三 type[2,0,0,0,0,0,0,4,2,16,0]}
追答
这不是将两个type数组里面的值加起来了吗,判断如果int或者基本类型的数组,就想起里面的值遍历出来进行相加,我不知道你这里是否判断数组名字一定要想同?
你这里的list_tr是什么类型数组? 里面有字符串,还有一个type数组?
把你的代码写全了,我突然觉得你这是javascript呢? 说明下语言。
秒杀腹黑菟
2012-12-18 · TA获得超过502个赞
知道小有建树答主
回答量:142
采纳率:100%
帮助的人:70.9万
展开全部
你运行一下,看看是不是你要的算法呢?
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class A {
private String company;
private String dept;
private String person;
private Integer[] type;
public String getCompany() {
return company;
}
public void setCompany(String company) {
this.company = company;
}
public String getDept() {
return dept;
}
public void setDept(String dept) {
this.dept = dept;
}
public String getPerson() {
return person;
}
public void setPerson(String person) {
this.person = person;
}
public Integer[] getType() {
return type;
}
public void setType(Integer[] type) {
this.type = type;
}
public A(String company, String dept, String person, Integer[] type) {
this.company = company;
this.dept = dept;
this.person = person;
this.type = type;
}
@Override
public boolean equals(Object o) {
A a = (A) o;
if (a.company.equals(this.company) && a.dept.equals(this.dept)
&& a.person.equals(this.person)) {
return true;
}
return false;
}
@Override
public String toString() {
return this.company + " " + this.dept + " " + this.person + " "
+ Arrays.toString(this.type);
}
public A add(A a) {
Integer[] temp = null;
int i = 0;
if (this.equals(a)) {
for (int j : this.type) {
if (temp == null) {
temp = new Integer[a.type.length];
}
temp[i] = j + a.type[i];
i++;
}
return new A(this.company, this.dept, this.person, temp);
}
return null;
}
/**
*
* 测试
*
*/
public static void main(String[] args) {
A a1 = new A("维纳", "开发二部", "张三", new Integer[] { 1, 0, 0, 0, 0, 0, 0,
2, 1, 8, 0 });
A a2 = new A("维纳", "开发二部", "张三", new Integer[] { 1, 0, 0, 0, 0, 0, 0,
2, 1, 8, 0 });
A a3 = new A("维纳", "开发二部", "李四", new Integer[] { 1, 0, 0, 0, 0, 0, 0,
2, 1, 8, 0 });
A a4 = new A("维纳", "开发二部", "张三", new Integer[] { 1, 0, 0, 0, 0, 0, 0,
2, 1, 8, 0 });
A a5 = new A("维纳", "开发二部", "李四", new Integer[] { 1, 0, 0, 0, 0, 0, 0,
2, 1, 8, 0 });
List<A> l = new ArrayList<A>();
l.add(a1);
l.add(a2);
l.add(a3);
l.add(a4);
l.add(a5);
List<A> l2 = new ArrayList<A>();
for (A a : l) {
if (!l2.contains(a)) {
l2.add(a);
continue;
}
for (int i = 0; i < l2.size(); i++) {
if (l2.get(i).equals(a)) {
l2.set(i, l2.get(i).add(a));
// System.out.println(l2.get(i));
}
}
}
System.out.println(l2);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
水木青青964
2012-12-18 · TA获得超过150个赞
知道答主
回答量:163
采纳率:0%
帮助的人:74.1万
展开全部
如何将数组我值相加对吧?
<script language="javascript">
var arr=new Array(1,2,3,4,5)
var x;
x=arr[0]+arr[1];
document.write(x);
</script>

举个简单的例子吧!将数组值取出来,再运算!
如上“X”的结果为3!
over!相信你可以的!
追问
不是啊,是在后台处理。list中存在一个数组。要将里面的数据相加。是两条数据相加。例如:
维纳 开发二部 张三 type[1,0,0,0,0,0,1,5.6,0,8,0]
维纳 开发二部 张三 type[1,0,0,0,0,0,0,2,1,8,0]
合并后:
维纳 开发二部 张三 type[2,0,0,0,0,0,1,7.6,1,16,0]
追答
分别遍历数组,相加,我老师说的,你不懂,我也不会了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bd9006
2012-12-18 · TA获得超过2.5万个赞
知道大有可为答主
回答量:4.8万
采纳率:63%
帮助的人:1.6亿
展开全部
int sum=0;
for(int i=0; i<arr.length; i++){
sum+=arr[i];

}

System.out.println("sum="+sum);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友8959245
2012-12-18
知道答主
回答量:36
采纳率:0%
帮助的人:12.3万
展开全部
你想问什么呢?
追问
list_tr={维纳  开发二部 张三 type[1,0,0,0,0,0,0,2,1,8,0]}
list_tr={维纳 开发二部 张三 type[1,0,0,0,0,0,0,2,1,8,0]}
合并成:
list_tr={维纳 开发二部 张三 type[2,0,0,0,0,0,0,4,2,16,0]}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式