Strukturzeichnung.
UserDataBean
package mapScore_plus_easy;
import java.util.List;
public class UserDataBean {
private String userName;
private List<String> scoresList;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public List<String> getScoresList() {
return scoresList;
}
public void setScoresList(List<String> scoresList) {
this.scoresList = scoresList;
}
}
Main
package mapScore_plus_easy;
public class Main {
public static void main(String[] args) {
//Instanziieren Sie die Gesamtpunktberechnungsklasse
CalculateSum calculatesum = new CalculateSum();
//Instanziieren Sie eine Klasse, die Informationen in eine userDataBean-Instanz packt und zurückgibt
ScoreReturn sr = new ScoreReturn();
UserDataBean inputResult = sr.inputReturn("Tanaka");
System.out.println(inputResult.getUserName() + inputResult.getScoresList());
//Rufen Sie die Gesamtpunktberechnungsmethode mit dem Rückgabewert der obigen Methode als tatsächlichem Argument auf
calculatesum.calculate(inputResult);
UserDataBean inputResult2 = sr.inputReturn("Sato");
System.out.println(inputResult2.getUserName() + inputResult2.getScoresList());
//Rufen Sie die Gesamtpunktberechnungsmethode mit dem Rückgabewert der obigen Methode als tatsächlichem Argument auf
calculatesum.calculate(inputResult2);
}
}
Persönlich war ich ein wenig besorgt und hatte Probleme mit der Verwendung des Listensetzers. Erstellen Sie eine sampleList als neue Liste, fügen Sie Werte hinzu und verwenden Sie sie schließlich als Setter-Argument. (Wenn Sie keine neue Liste erstellen und den Wert mehrmals als Setter-Argument verwenden, wird der Setter aktualisiert anstatt hinzugefügt, sodass er jedes Mal neu geschrieben wird.)
package mapScore_plus_easy;
import java.util.ArrayList;
import java.util.List;
public class ScoreReturn {
//Eine Methode, die Werte in Benutzername und ScoresList von userDataBean festlegt und deren Instanz zurückgibt
public UserDataBean inputReturn (String person_Name){
UserDataBean userDataBean = new UserDataBean();
userDataBean.setUserName(person_Name);
//Erstellen Sie eine Beispielliste.
List<String> sampleList = new ArrayList<String>();
//Wenn Sie diese Zufallsvariablen als Felder initialisieren,
//Herr Tanaka und Herr Sato haben genau die gleiche Punktzahl erhalten, was unnatürlich ist.
int randomScore_Japanese = new java.util.Random().nextInt(101);
int randomScore_Math = new java.util.Random().nextInt(101);
int randomScore_English = new java.util.Random().nextInt(101);
//Kursliste
String score_japanese = Integer.toString(randomScore_Japanese);
sampleList.add(("Landessprache" + ":" + score_japanese ));
String score_math = Integer.toString(randomScore_Math);
sampleList.add("Mathematik" + ":" + score_math );
String score_eng = Integer.toString(randomScore_English);
sampleList.add(("Englisch" + ":" + score_eng ));
userDataBean.setScoresList(sampleList);
//Gibt eine Instanz zurück, die die Informationen enthält.
return userDataBean;
}
}
CalculateSum
package mapScore_plus_easy;
import java.util.List;
public class CalculateSum {
UserDataBean userdatabean = new UserDataBean();
public void calculate(UserDataBean userDataBean){
List<String> scoresList = userDataBean.getScoresList();
int sumScore = 0;
for(String element : scoresList){
// String deletedElement = element.replaceAll("[^0-9]","");
//Split ist in diesem Fall vielseitiger als das Ersetzen.
String[] splitedElement = element.split(":");
String t = splitedElement[1];
int integerElement = Integer.parseInt(t);
sumScore += integerElement;
}
System.out.println(userDataBean.getUserName() + "Die Gesamtpunktzahl von" + sumScore + "Ist ein Punkt");
}
}
Ausführungsergebnis
Tanaka[Landessprache:20,Mathematik:8,Englisch:19]
Die Gesamtpunktzahl von Herrn Tanaka beträgt 47 Punkte
Sato[Landessprache:37,Mathematik:78,Englisch:89]
Die Gesamtpunktzahl von Herrn Sato beträgt 204 Punkte
Es ist einfacher, die Listenvariablen zu verstehen, wenn die Namenskonvention "○○ Liste" lautet.
Recommended Posts