bigdecimal求和(bigdecimal求和需要判断非空吗)

http://www.itjxue.com  2023-03-20 20:08  来源:未知  点击次数: 

class person{ int pv; BigDecimal payMoney; BigDecimal debtMoney; } 用java stream分组求和

创建一个class对象person,存放pv,paymoney,debtMoney这三个属性

再次创建map集合sum,用于存放统计结果

创建对象流ObjectStream,每次读取一个person对象,读取后进行累加操作。

得到求和后的map

thymeleaf将一个集合中对象的两个属性值的积求和

public class testOne {

public static void main(String[] args) {

CrowdfIe c = new CrowdfIe();

ListStoreIncome sList= new ArrayListStoreIncome();

for(int i=0;i10;i++){

StoreIncome s = new StoreIncome();

s.setDayIncome(BigDecimal.valueOf(i));

s.setAmount(i);

sList.add(s);

}

c.setStoreIncome(sList);

int num=0;

BigDecimal num2=BigDecimal.valueOf(0);

for(StoreIncome a:c.getStoreIncome()){

num+=a.getAmount();

num2=num2.add(a.getDayIncome());

}

System.out.println(num);

System.out.println(num2);

}

}

Java数组的问题,跪求答案,多谢了

package?test;

import?java.util.Scanner;

class?Computer{

//求和sum()方法

?public?long?sum(int?[]?args){

??long?n=0;

??for(int?i=0;i10;i++){

???n=args[i]+n;

??}

??return?n;

?}

?//求积multiply()方法

?public?long?multiply(int?[]?args){

??long?n=1;

??for(int?i=0;i10;i++){

???n=args[i]*n;

??}

??return?n;

?}

?//求最小数min()方法

?public??int?min(int?[]args){

??int?min?=args[0];

??for(int?i=0;i10;i++){

???if(args[i]min){

????min=args[i];

???}

??}

??return?min;

?}

?//求最大数max()?方法

?public??int?max(int?[]args){

??int?max=args[0];

??for(int?i=0;i10;i++){

???if(args[i]max){

????max=args[i];

???}

??}

??return?max;

?}

}

public?class?Test{

?public?static?void?main(String?[]?args){

??int?[]?n=new?int[10];

??Computer?computer=new?Computer();

??Scanner?scanner=new?Scanner(System.in);

??for(int?i=0;i10;i++){

???n[i]=scanner.nextInt();

??}

??System.out.println("sum:??"+computer.sum(n));

??System.out.println("multiply:??"+computer.multiply(n));

??System.out.println("min:??"+computer.min(n));

??System.out.println("max:??"+computer.max(n));

?}?

}

java用循环输入组数字怎么输出最大数和最小数

import?java.util.*;

public?class?Main

{

?public?static?void?main(String[]?argv)

?{

??Scanner?sc?=?new?Scanner(System.in);

??int?n?=?sc.nextInt();?//读入数组规模

??int?min,?max,?sum,?x;

??x?=?sc.nextInt();?//读入第一个元素

??min?=?x;???//对min、max、sum进行初始化

??max?=?x;

??sum?=?x;

??for(int?i=1;?in;?i++)?//读入数组

??{

???x?=?sc.nextInt();

???min?=?xmin???x?:?min;

???max?=?xmax???x?:?max;

???sum?+=?x;

??}

??System.out.println("最大值为:"?+?max);

??System.out.println("最小值为:"?+?min);

??System.out.println("和为:"?+?sum);

?}

}

请采纳。

编写一个JAVA程序,计算1!+2!+3!+...+20!之和并在屏幕上输出

public class test {

public static void main(String[] args) throws Exception {

int sum = 0;

for(int i=1;i=20;i++){

int temp = 1;

for(int j=1;j=i;j++){

temp*=j;

}

sum+=temp;

}

System.out.println("1-20阶乘的和为:"+sum);

}

}

答案补充:上面算法只适合于阶乘合并不是很大的情况 如果合超过int变量所能表达的值 就要用BigDecimal变量了~

例如上面程序计算1-21的阶乘和会是-927073767 导致错误

程序如下修改以后 答案就正确了53652269665821260313

非常感谢老大提醒~~~

public class T {

public static void main(String[] args) {

test2(20);

}

public static void test2(int k) {

BigDecimal total = new BigDecimal("0");

BigDecimal current = new BigDecimal("1");

for (int i = 1; i = k; i++) {

current = current.multiply(new BigDecimal(String.valueOf(i)));

total = total.add(current);

}

System.out.println(total);

}

}

java语言计算9,99,999,9999,.......9999999999的和

我们观察这组数字的规律,它是等比数列

10,100,1000...里面每个元素减一的出来的,初始数long num = 10

数列里面最大的数是9999999999,所以要有一个最大限制long max = 9999999999L;

再用一个变量存储总和long sum = 0;

所以代码为

public class Test {

public static void main(String[] args) {

long max = 9999999999L;

long sum = 0;

long num = 10;

while (num-1 = max) {

sum += (num - 1);

num*=10;

}

System.out.println(sum);

}

}

结果11111111100

(责任编辑:IT教学网)

更多

推荐Mail服务器文章