Le diagramme de structure est le suivant.
UserDataBean
package mapScore_plus_rere;
import java.util.List;
public class UserDataBean {
private String userName;
private List<ScoreBean> scoresList;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public List<ScoreBean> getScoresList() {
return scoresList;
}
public void setScoresList(List<ScoreBean> scoresList) {
this.scoresList = scoresList;
}
}
ScoreBean
package mapScore_plus_rere;
public class ScoreBean {
private String scoreName;
private int score;
public String getScoreName() {
return scoreName;
}
public void setScoreName(String scoreName) {
this.scoreName = scoreName;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
}
Main
package mapScore_plus_rere;
public class Main {
public static void main(String[] args) {
ScoreReturn scoreReturn = new ScoreReturn();
CalculateSum calc = new CalculateSum();
//Définissez le nom de l'argument (Sato) sur la variable de userDataBean&
//Définissez le nom du sujet et le score dans la variable scoreBean
//Définissez la liste de cette instance scoreBean dans la variable List de userDataBean
UserDataBean udb1 = scoreReturn.returnUDB("Sato");
UserDataBean udb2 = scoreReturn.returnUDB("Tanaka");
//Calculer l'instance reçue comme valeur de retour&Passer à la méthode de sortie
calc.calculate(udb1);
System.out.println("");
calc.calculate(udb2);
}
}
ScoreReturn Étant donné que le même traitement se poursuit pour le nombre de sujets, il est plus propre de le regrouper en tant que méthode. (Le traitement étant le même sauf pour le nom du sujet et le score, il est unifié. Il est plus facile de lire et de répondre aux modifications) Que ce cours soit bon ou mauvais, je pense que cela fait une différence selon la personne qui écrit le plus.
package mapScore_plus_rere;
import java.util.LinkedList;
import java.util.List;
import java.util.Random;
public class ScoreReturn {
public UserDataBean returnUDB(String userName) {
UserDataBean userDataBean = new UserDataBean();
//Tout d'abord, définissez le nom
userDataBean.setUserName(userName);
//Génération de liste à utiliser comme argument de définition
List<ScoreBean> SCList = new LinkedList<ScoreBean>();
Random random = new Random();
//langue nationale
SCList.add(set_and_return_scoreName_and_score("langue nationale", random.nextInt(101)));
//Math
SCList.add(set_and_return_scoreName_and_score("Math", random.nextInt(101)));
//Anglais
SCList.add(set_and_return_scoreName_and_score("Anglais", random.nextInt(101)));
//Science
SCList.add(set_and_return_scoreName_and_score("Science", random.nextInt(101)));
//société
SCList.add(set_and_return_scoreName_and_score("société", random.nextInt(101)));
userDataBean.setScoresList(SCList);
return userDataBean;
}
//Le même processus se poursuit 5 fois, alors mettez-le ensemble dans une méthode
public ScoreBean set_and_return_scoreName_and_score(String scoreName, int score) {
ScoreBean scoreBean = new ScoreBean();
scoreBean.setScoreName(scoreName);
scoreBean.setScore(score);
return scoreBean;
}
}
CalculateSum J'ai de nouveau pensé que pour écrire une instruction for, il était nécessaire d'avoir une bonne compréhension du diagramme structurel.
package mapScore_plus_rere;
public class CalculateSum {
public void calculate(UserDataBean udb) {
udb.getUserName();
int scoreSum = 0;
for (ScoreBean element : udb.getScoresList()) {
element.getScoreName();
int score = element.getScore();
System.out.println(element.getScoreName() + "Le score de" + score + "est");
scoreSum += score;
}
// System.out.println("mapScore_plus_rere");
System.out.println(udb.getUserName() + "Le score total de" + scoreSum + "est");
}
}
Recommended Posts