这不就意思你需要一个update和insert两个方法嘛,insert时才会增加数量,update时不增加数量不就好了。
判断调用update还是insert根据你输入的学号判断成绩是否为空就好了
考察你对集合的简单了解 List 和 Set重复元素的区别
package com.wf;
public class Score {
private String name;
private String number;
private String keMu;
private String Score;
public Score(String name, String number, String keMu, String score) {
this.name = name;
this.number = number;
this.keMu = keMu;
Score = score;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getKeMu() {
return keMu;
}
public void setKeMu(String keMu) {
this.keMu = keMu;
}
public String getScore() {
return Score;
}
public void setScore(String score) {
Score = score;
}
}
package com.wf;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Input {
public static void main(String[] args) {
List<Score> list = new ArrayList<>();
while (true) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入学生姓名:");
String name = scanner.next();
System.out.print("请输入学生学号:");
String number = scanner.next();
System.out.print("请输入学生科目:");
String keMu = scanner.next();
System.out.print("请输入学生成绩:");
String score = scanner.next();
boolean isExit = true;
for (Score s : list) {
if (s.getNumber().equals(number)) {
s.setName(name);
s.setNumber(number);
s.setKeMu(keMu);
s.setScore(score);
isExit = false;
}
}
if (isExit) {
list.add(new Score(name, number, keMu, score));
}
System.out.println("当前已录入的学生成绩数量为:" + list.size());
}
}
}