java中list集合求学生总成绩,求张三和李四的总成绩,用循环判断的形式实现
答案:3 悬赏:0
解决时间 2021-01-15 14:15
- 提问者网友:心如荒岛囚我终老
- 2021-01-15 02:01
java中list集合求学生总成绩,求张三和李四的总成绩,用循环判断的形式实现
最佳答案
- 二级知识专家网友:走死在岁月里
- 2021-01-15 02:16
package image;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
public class Stu {
public String name;
public String course;
public int score;
public int total;
public Stu(String name, String course, int score) {
this.name = name;
this.course = course;
this.score = score;
}
public String getName() {
return name;
}
public int getScore() {
return score;
}
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
public static void main(String[] args) {
List list = new ArrayList();
Stu stu0 = new Stu("张三", "语文", 60);
Stu stu1 = new Stu("张三", "数学", 70);
Stu stu3 = new Stu("李四", "语文", 65);
Stu stu4 = new Stu("李四", "数学", 75);
list.add(stu0);
list.add(stu1);
list.add(stu3);
list.add(stu4);
// 总成绩
BigDecimal totalB = new BigDecimal("0");
BigDecimal totalZhangsan = new BigDecimal("0");
BigDecimal totalLisi = new BigDecimal("0");
for (Stu stu : list) {
totalB = totalB.add(new BigDecimal(stu.getScore() + ""));
if ("张三".equals(stu.getName())) {
totalZhangsan = totalZhangsan.add(new BigDecimal(stu.getScore() + ""));
}else if ("李四".equals(stu.getName())) {
totalLisi = totalLisi.add(new BigDecimal(stu.getScore() + ""));
}
}
System.out.println(totalB.doubleValue());
System.out.println(totalZhangsan.doubleValue());
System.out.println(totalLisi.doubleValue());
}
}使用BigDecimal避免分数为小数时失真
结果为:
总成绩:270.0
张三:130.0
李四:140.0
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
public class Stu {
public String name;
public String course;
public int score;
public int total;
public Stu(String name, String course, int score) {
this.name = name;
this.course = course;
this.score = score;
}
public String getName() {
return name;
}
public int getScore() {
return score;
}
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
public static void main(String[] args) {
List
Stu stu0 = new Stu("张三", "语文", 60);
Stu stu1 = new Stu("张三", "数学", 70);
Stu stu3 = new Stu("李四", "语文", 65);
Stu stu4 = new Stu("李四", "数学", 75);
list.add(stu0);
list.add(stu1);
list.add(stu3);
list.add(stu4);
// 总成绩
BigDecimal totalB = new BigDecimal("0");
BigDecimal totalZhangsan = new BigDecimal("0");
BigDecimal totalLisi = new BigDecimal("0");
for (Stu stu : list) {
totalB = totalB.add(new BigDecimal(stu.getScore() + ""));
if ("张三".equals(stu.getName())) {
totalZhangsan = totalZhangsan.add(new BigDecimal(stu.getScore() + ""));
}else if ("李四".equals(stu.getName())) {
totalLisi = totalLisi.add(new BigDecimal(stu.getScore() + ""));
}
}
System.out.println(totalB.doubleValue());
System.out.println(totalZhangsan.doubleValue());
System.out.println(totalLisi.doubleValue());
}
}使用BigDecimal避免分数为小数时失真
结果为:
总成绩:270.0
张三:130.0
李四:140.0
全部回答
- 1楼网友:夜风逐马
- 2021-01-15 04:03
//使用map存储总成绩,key:学生姓名 value:学生成绩
Map map = new HashMap();
for(Stu stu:list){
if(!map.containsKey(stu.getName)){
map.put(stu.getName,stu.getScore());
}else{
map.put(stu.getName,map.get(stu.getName)+stu.getScore());
}
}
System.out.println(map);
Map
for(Stu stu:list){
if(!map.containsKey(stu.getName)){
map.put(stu.getName,stu.getScore());
}else{
map.put(stu.getName,map.get(stu.getName)+stu.getScore());
}
}
System.out.println(map);
- 2楼网友:持酒劝斜阳
- 2021-01-15 03:04
public static void main(String[] args) {
List list = new ArrayList();
Stu stu0=new Stu("张三","语文",60);
Stu stu1=new Stu("张三","数学",70);
Stu stu3=new Stu("李四","语文",65);
Stu stu4=new Stu("李四","数学",75);
list.add(stu0);
list.add(stu1);
list.add(stu3);
list.add(stu4);
int sumScore = 0;//声明变量保存学生总成绩
int zhangsanSumScore = 0;//声明变量保存张三总成绩
int lisiSumScore = 0;//声明变量保存李四总成绩
for (Stu stu : list) {//循环list
sumScore = sumScore + stu.getScore();//计算总成绩
if( stu.getName().equals("张三") ){//如果姓名是张三,则计算成绩
zhangsanSumScore = zhangsanSumScore + stu.getScore();
}else{//否则就是李四的成绩
lisiSumScore = lisiSumScore + stu.getScore();
}
}
System.out.println("学生总成绩为"+sumScore);
System.out.println("张三总成绩为"+zhangsanSumScore);
System.out.println("李四总成绩为"+lisiSumScore);
}
List
Stu stu0=new Stu("张三","语文",60);
Stu stu1=new Stu("张三","数学",70);
Stu stu3=new Stu("李四","语文",65);
Stu stu4=new Stu("李四","数学",75);
list.add(stu0);
list.add(stu1);
list.add(stu3);
list.add(stu4);
int sumScore = 0;//声明变量保存学生总成绩
int zhangsanSumScore = 0;//声明变量保存张三总成绩
int lisiSumScore = 0;//声明变量保存李四总成绩
for (Stu stu : list) {//循环list
sumScore = sumScore + stu.getScore();//计算总成绩
if( stu.getName().equals("张三") ){//如果姓名是张三,则计算成绩
zhangsanSumScore = zhangsanSumScore + stu.getScore();
}else{//否则就是李四的成绩
lisiSumScore = lisiSumScore + stu.getScore();
}
}
System.out.println("学生总成绩为"+sumScore);
System.out.println("张三总成绩为"+zhangsanSumScore);
System.out.println("李四总成绩为"+lisiSumScore);
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息