本文介绍了如何对arrayList中的值求和的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
package lawn;
import java.util.Scanner;
import java.util.List;
import java.util.ArrayList;
/**
*
* @author norbe
*/
public class Lawn {
private double lenght, width;
private double totalArea;
private double structureArea;
private double tot;
List<Double> list = new ArrayList<Double>();
public Lawn (){
return;}
public Lawn(double Lenght, double Width) {
this.lenght = Lenght;
this.width = Width;
}
public double getWidth() {
return width;
}
public void setWidth(double Width) {
this.width = Width;
}
public double getLenght() {
return lenght;
}
public void setHeight(double Lenght) {
this.lenght = Lenght;
}
public void getTotalArea() {
Scanner sc = new Scanner(System.in);
double lenght;
double width;
System.out.println("please enter Total lenght :\t ");
lenght = sc.nextDouble();
if (lenght >= 0.0) {
System.out.println("Please enter width :\t ");
width = sc.nextDouble();
if (width > 0.0) {
totalArea = lenght * width;
System.out.println("Your total area is :\t " + totalArea);
} else {
System.out.println("Invalid entry");
}
} else {
System.out.println("Invalid entry");
}
}
public void getStructureArea() {
Scanner sc = new Scanner(System.in);
/*double lenght;
double width;*/
System.out.println("please enter Structure lenght :\t ");
lenght = sc.nextDouble();
if (lenght >= 0.0) {
System.out.println("Please enter Structure width :\t ");
width = sc.nextDouble();
if (width > 0.0) {
structureArea = lenght * width;
list.add(structureArea);
System.out.println("Your Structure area is :\t " + structureArea);
} else {
System.out.println("Invalid entry");
}
} else {
System.out.println("Invalid entry");
}
System.out.println(list);
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
double tot = 0;
Lawn lawn = new Lawn();
lawn.getTotalArea();
System.out.println("Please enter number of structures : ");
Scanner sc = new Scanner(System.in);
int structures = sc.nextInt();
for (int count = 1; count <= structures; count++) {
lawn.getStructureArea();
}
double sum = 0;
/* for (Double item : list) {
tot += item.structureArea;
}*/
}
}
推荐答案
您可以使用Java 8 lambda来做到这一点:
You can do it by using a java 8 lambda:
Double total = lawn.list.stream().mapToDouble(i -> i).sum();
这篇关于如何对arrayList中的值求和的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!