[JAVA] Informationen in einer Instanz abrufen und Zahlen berechnen Standardversion

Erstellen Sie eine Instanz, die den Schülernamen und die Punktzahl von 5 Fächern enthält, geben Sie die Gesamtpunktzahl aus und berechnen Sie sie

Das Strukturdiagramm ist wie folgt.

スクリーンショット 2017-10-29 0.15.46.png

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

Informationen in einer Instanz abrufen und Zahlen berechnen Standardversion
Vereinfachte Version der Zahlenberechnung durch Sammeln von Informationen in einer Instanz
Holen Sie sich Standortinformationen mit Rails und sortieren Sie in aufsteigender Reihenfolge
Holen Sie sich EXIF-Informationen in Java
Abrufen von Fehlerinformationen mithilfe von DefaultErrorAttributes und ErrorAttributeOptions in Spring Boot 2.3
Berechnen Sie Primzahlen in Java
Ruft Attribute und Werte aus einer XML-Datei in Java ab
OpenSL-Versionsinformationen in Ruby OPENSSL_VERSION
Holen Sie sich Youtube-Videoinformationen mit Retrofit und behalten Sie sie in der Android-App.