当前位置: 代码迷 >> Eclipse >> 加急java数组有关问题!高手来了~
  详细解决方案

加急java数组有关问题!高手来了~

热度:37   发布时间:2016-04-23 14:12:29.0
加急!java数组问题!高手来了~~~~
有两个数组
1,String[] prostr = formbean.getProstr().substring(0, formbean.getProstr().length()-1).split(";");
2,String[] countstr = formbean.getCountstr().substring(0, formbean.getCountstr().length()-1).split(";");
数组1,prostr 里面是价值,数组2,countstr 里面是数量。
求如何循环加出 总和。 数组1和数组2中对应的价值和数量相乘的和。
for(int i=0;i<prostr.length;i++){
ProductInfo product = productInfoService.find(Integer.parseInt(prostr[i].toString()));
  product.getMoney();
}
将两个数组中值对应乘下相加!~~
效果:数组1: prostr[100,200], 数组2:countstr[2,3] sum=100*2+200*3;谢谢了~~求高人代码下循环取出下 谢谢了!~~~

------解决方案--------------------
import java.math.BigDecimal;

public class SumMoney {

/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
String[] prostrs = {"100","200","300","400","500"};
String[] countstrs = {"2","3","4","5","6"};
BigDecimal money = new BigDecimal(0);
for(int i = 0;i<prostrs.length;i++){
final BigDecimal prostr = new BigDecimal(prostrs[i]);
final BigDecimal countstr = new BigDecimal(countstrs[i]);
money = money.add(prostr.multiply(countstr));
}
System.out.println(money);
}

}

这样看看行不行
------解决方案--------------------
1楼逻辑没问题。
就是那个,不一定非要用BigDecimal的吧。
------解决方案--------------------
final BigDecimal prostr = new BigDecimal(prostrs[i]);
final BigDecimal countstr = new BigDecimal(countstrs[i]);
请问为什么要加2个final呢?我试了试去掉final,输出结果一样。求指教
------解决方案--------------------
final没什么影响,逻辑没错
------解决方案--------------------
Java中final就是只读的意思。
这里用final的好处是防止意外修改了这些个变量。
可以不用。
------解决方案--------------------
两个数组的长度是一样的吗????
------解决方案--------------------
不是很懂。
------解决方案--------------------
意思是防止人为地去修改还是指系统自行地修改呢?
探讨
Java中final就是只读的意思。
这里用final的好处是防止意外修改了这些个变量。
可以不用。

------解决方案--------------------
探讨

意思是防止人为地去修改还是指系统自行地修改呢?

------解决方案--------------------
哦,了解了,多谢~
探讨
引用:

意思是防止人为地去修改还是指系统自行地修改呢?

防止后面自己写的程序写错了,修改了变量值。

------解决方案--------------------
逻辑没错
  相关解决方案