Das Strukturdiagramm ist wie folgt.
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();
//Setzen Sie den Namen des Arguments (Sato) auf die Variable userDataBean&
//Legen Sie den Betreffnamen und die Punktzahl in der Variable scoreBean fest
//Legen Sie die Liste dieser scoreBean-Instanz in der List-Variablen der userDataBean fest
UserDataBean udb1 = scoreReturn.returnUDB("Sato");
UserDataBean udb2 = scoreReturn.returnUDB("Tanaka");
//Berechnen Sie die empfangene Instanz als Rückgabewert&An Ausgabemethode übergeben
calc.calculate(udb1);
System.out.println("");
calc.calculate(udb2);
}
}
ScoreReturn Da die gleiche Verarbeitung für die Anzahl der Probanden fortgesetzt wird, ist es sauberer, sie als Methode zusammenzustellen. (Da die Verarbeitung bis auf den Namen und die Punktzahl des Betreffs identisch ist, ist sie einheitlich. Es ist einfacher, Änderungen zu lesen und darauf zu reagieren.) Ob diese Klasse gut oder schlecht ist, ich denke, es macht einen Unterschied, abhängig von der Person, die am meisten schreibt.
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();
//Stellen Sie zuerst den Namen ein
userDataBean.setUserName(userName);
//Listengenerierung, die als Setter-Argument verwendet werden soll
List<ScoreBean> SCList = new LinkedList<ScoreBean>();
Random random = new Random();
//Landessprache
SCList.add(set_and_return_scoreName_and_score("Landessprache", random.nextInt(101)));
//Mathematik
SCList.add(set_and_return_scoreName_and_score("Mathematik", random.nextInt(101)));
//Englisch
SCList.add(set_and_return_scoreName_and_score("Englisch", random.nextInt(101)));
//Wissenschaft
SCList.add(set_and_return_scoreName_and_score("Wissenschaft", random.nextInt(101)));
//Gesellschaft
SCList.add(set_and_return_scoreName_and_score("Gesellschaft", random.nextInt(101)));
userDataBean.setScoresList(SCList);
return userDataBean;
}
//Der gleiche Vorgang wird fünfmal fortgesetzt, also setzen Sie ihn in einer Methode zusammen
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 Ich dachte noch einmal, dass es für das Schreiben einer for-Anweisung notwendig ist, das Strukturdiagramm richtig zu verstehen.
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() + "Die Punktzahl von" + score + "ist");
scoreSum += score;
}
// System.out.println("mapScore_plus_rere");
System.out.println(udb.getUserName() + "Die Gesamtpunktzahl von" + scoreSum + "ist");
}
}
Recommended Posts