[JAVA] Vereinfachte Version der Zahlenberechnung durch Sammeln von Informationen in einer Instanz

Erstellen Sie eine Instanz, die den Schülernamen und die Punktzahlen der drei Fächer enthält, geben Sie die Gesamtpunktzahl aus und berechnen Sie sie

Strukturzeichnung.

スクリーンショット 2017-10-28 23.59.40.png

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

Vereinfachte Version der Zahlenberechnung durch Sammeln von Informationen in einer Instanz
Informationen in einer Instanz abrufen und Zahlen berechnen Standardversion
Installieren Sie, indem Sie die Version von Django in der Docker-Umgebung angeben
Sammeln von Clientinformationen, wenn in einer Webanwendung ein Fehler auftritt
OpenSL-Versionsinformationen in Ruby OPENSSL_VERSION
Sortieren Sie nach der Anzahl der Likes und der Seitennation
Anzahl der Ziffern des numerischen Typs